Info Tentang Difference between Matrix Arithmetic in OpenCV and Numpy Update Terbaru 2017 Gratis

Sedikit Info Seputar Difference between Matrix Arithmetic in OpenCV and Numpy Terbaru 2017 - Hay gaes kali ini team Fiber Android, kali ini akan membahas artikel dengan judul Difference between Matrix Arithmetic in OpenCV and Numpy, kami selaku Team Fiber Android telah mempersiapkan artikel ini untuk sobat sobat yang menyukai Fiber Android. semoga isi postingan tentang yang saya posting kali ini dapat dipahami dengan mudah serta memberi manfa'at bagi kalian semua, walaupun tidak sempurna setidaknya artikel kami memberi sedikit informasi kepada kalian semua. ok langsung simak aja sob
Judul: Berbagi Info Seputar Difference between Matrix Arithmetic in OpenCV and Numpy Full Update Terbaru
link: Difference between Matrix Arithmetic in OpenCV and Numpy
"jangan lupa baca juga artikel dari kami yang lain dibawah"

Artikel Terbaru Difference between Matrix Arithmetic in OpenCV and Numpy Update Terlengkap 2017

Hi,

This is a small post to show you an important difference in arithmetic operations in OpenCV and Numpy.

As an example,  I take addition as operation.

As you know, images are loaded in OpenCV as "uint8" data. ie 8 bit data. So all the values in the matrix (or image) lie between 0 and 255.

So, even if you add or subtract two numbers, result lies between 0 and 255.

For eg,      255+1 ≠ 256  for 'uint8' data

So what is the answer in above case?

There lies the difference between OpenCV and Numpy. I will demonstrate it using Python terminal.

First create two datas of uint8 type, x = 255, y = 1

>>> x = np.array([255],np.uint8)
>>> y = np.array([1],np.uint8)

OpenCV

Now we add x and y using OpenCV function, cv2.add

>>> cv2.add(x,y)
array([[255]], dtype=uint8)

ie 255+1 = 255 in OpenCV. It is because arithmetic operations in OpenCV are clipped or saturated operations. ie , they clip values wrt data type. If uint8, it clips all values 0 and 255. So if you add two gray pixels, a = 127 and b = 129, you get c = 255, a white pixel, which is OK and necessary in Image Processing

Numpy

Now we add x and y in Numpy.

>>> x+y
array([0], dtype=uint8)

ie 255+1 = 0 in Numpy. It is because Numpy performs a modulo-256 operation. So 256 % 256 = 0.

But what it implies in image processing? If you add a value of  '1' to a white pixel, you get a pure black pixel, which is completely unfavorable in image processing. If you add a = 127 and b = 128, again you get a black pixel.

So better stick to OpenCV functions for image arithmetic operations.

Regards,
ARK

Itulah sedikit Artikel Difference between Matrix Arithmetic in OpenCV and Numpy terbaru dari kami

Semoga artikel Difference between Matrix Arithmetic in OpenCV and Numpy yang saya posting kali ini, bisa memberi informasi untuk anda semua yang menyukai Fiber Android. jangan lupa baca juga artikel-artikel lain dari kami.
Terima kasih Anda baru saja membaca Artikel Tentang Difference between Matrix Arithmetic in OpenCV and Numpy