In [1]:
import cv2
import numpy as np
In [2]:
im = cv2.imread('data/src/lena.jpg')
print(im.shape)
In [3]:
print(im.dtype)
In [4]:
im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
print(im_gray.shape)
In [5]:
print(im_gray.dtype)
In [6]:
cv2.imwrite('data/dst/opencv_gray_cvtcolr.jpg', im_gray)
Out[6]:
In [7]:
im_gray_read = cv2.imread('data/src/lena.jpg', cv2.IMREAD_GRAYSCALE)
print(im_gray_read.shape)
In [8]:
print(im_gray_read.dtype)
In [9]:
cv2.imwrite('data/dst/opencv_gray_imread.jpg', im_gray_read)
Out[9]:
In [10]:
im_gray_diff = im_gray.astype(int) - im_gray_read.astype(int)
In [11]:
print(im_gray_diff.max())
In [12]:
print(im_gray_diff.min())
In [13]:
im_gray_calc = 0.299 * im[:, :, 2] + 0.587 * im[:, :, 1] + 0.114 * im[:, :, 0]
print(im_gray_calc.shape)
In [14]:
print(im_gray_calc.dtype)
In [15]:
cv2.imwrite('data/dst/numpy_gray_calc.jpg', im_gray_calc)
Out[15]:
In [16]:
im_gray_diff = im_gray_calc - im_gray
In [17]:
print(im_gray_diff.max())
In [18]:
print(im_gray_diff.min())
In [19]:
a = np.array([0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
In [20]:
print(a.round())
In [21]:
print(a.astype('uint8'))
In [22]:
print(np.array_equal(im_gray_calc.round(), im_gray))
In [23]:
print(np.array_equal(im_gray_calc.astype('uint8'), im_gray))