图像处理100问(1~5)
小记: 问题1 — RGB与BGR转换 问题2 — BGR灰度化 问题3 — 二值化 问题4 — 大津二值化算法 问题5 — RGB转HSV 一方面是考察图像的以上原理,一方面是考察numpy的使用。 参考: numpy库的基本使用 问题一:通道交换 读取图像,然后将 RGB \text{RGB} RGB 通道替换成 BGR \text{BGR} BGR 通道。 下面的代码用于提取图像的红色通道。 解析: 要把蓝色部分变成红色,而图中蓝色明显,说明B通道灰度值小,故而可以交换 B和R通道中的数值,这样B通道灰度值大,颜色变浅,B通道的灰度值变小,颜色变深,红色也就显现出来了。 import cv2 def BGR2RGB ( img ) : b = img [ : , : , 0 ] . copy ( ) g = img [ : , : , 1 ] r = img [ : , : , 2 ] img [ : , : , 0 ] = r img [ : , : , 1 ] = g img [ : , : , 2 ] = b return img img = cv2 . imread ( "imori.jpg" ) img = BGR2RGB ( img ) cv2 . imshow ( "result" , img ) cv2 . waitKey ( ) 问题二:灰度化