图像的灰度化:
灰度是指只含亮度信息,不含色彩信息的图像。黑白照片就是灰度图,特点是亮度由暗到明,变化是连续的。要表示灰度图,就需要把亮度值进行量化
使用灰度图的好处:
① RGB的值都一样。
② 图像数据即调色板索引值,就是实际的RGB值,也就是亮度值。
③ 因为是256色调色板,所以图像数据中一个字节代表一个像素,很整齐。
所以,做图像处理时都采用灰度图。
将一幅RGB格式的图像转化为灰度图:
#1、灰度化读取文件,
img = cv2.imread('IMG_1868.JPG',0)
img1=cv2.imshow('img',img)
图像的二值化:
什么叫图像的二值化?二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0~255,在二值化后的图像中的灰度值范围是0或者255。
黑色:
二值化后的R = 0
二值化后的G = 0
二值化后的B = 0
白色:
二值化后的R = 255
二值化后的G = 255
二值化后的B = 255
那么一个像素点在灰度化之后的灰度值怎么转化为0或者255呢?比如灰度值为100,那么在二值化后到底是0还是255?这就涉及到取一个阀值的问题。
magnitude_uint = magnitude.astype(np.uint8)
ret, thresh = cv2.threshold(magnitude_uint, 11, 255, cv2.THRESH_BINARY)
print('ret',ret)