python+opencv图像处理(二) ----图像变换 自然界中有很多的颜色,红红的花,绿绿的草,蓝蓝的天,白白的云,多姿多彩的世界,美轮美奂的图像。 通过手机,照相机就可以定格每一个美的瞬间。 但是,当把这些景象定格的时候,就被采样、量化成了数字图像了。 数字图像就是计算机当中处理的图像,也是我们所处理的图像。 彩色图像有很多的理论,RGB三基色理论啊,HSI彩色模型啊,那些我也还搞得不是特别清楚,就不在此班门弄斧了。 1、彩色图像转换为灰度图像 在对图像进行处理时,很多时候会将彩色图像转换为灰度图像进行处理。 灰度图像即仅有灰度值的图像,灰度值也就是从0~255共256种值的图像,只是灰度我们人眼分得并不是特别清楚。 果然,古人诚不欺我,世间哪儿有绝对的黑白,你看,图像中都200多种灰呢,反正我是分不清楚的。 opencv中已有函数: cvtColor() 来进行图像之间的转换。此函数可以在官方文档上查看其解释。本文只使用它。 如下图所示,将就是美女lena变成了灰度图像。 代码如下: import cv2 as cv img=cv.imread("E:/image/le.jpg") cv.imshow("le",img) gray=cv.cvtColor(img, cv.COLOR_RGB2GRAY) cv.imshow("gray",gray) 第一行,导入opencv包 第二行,读入图像 第三行,显示图像 第四行,转换为灰度图像 第五行,显示灰度图像 2、彩色图像转换为二值图像 二值图像也是黑白图像,非黑即白的。 它是在灰度图像的基础上,设定一个值,超过这个值为黑,低于这个值为白。 这个值即是网上说的阈值。 Opencv中有函数threshold可完成此功能。 下图即将lena的灰度图像转换为二值图像。 代码如下: import cv2 as cv img=cv.imread("E:/image/le.jpg",0)#也可读为灰度图像 cv.imshow("le",img) ret,dst=cv.threshold(img,55,255,cv.THRESH_BINARY) cv.imshow("dst",dst) 函数threshold的功能也不止这一种,网上随处可查哦... |
|
来自: pythonjava学习 > 《python图像处理》