使用opencv和python实现图像的智能处理,python opencv图像识别教程整理
说到图像处理,必须提到opencv模块。本文将从图像的基本操作中的基本opencv模块入手,使用Python OpenCV读取和保存图像等。有兴趣的可以看看。
00-1010安装模块图片、读取图像、显示图像、保存图像的各种属性的各种操作,以及图像的基本操作。今天给大家分享一下Python在图像处理中的具体应用。既然是图像处理,就必须提到opencv模块。该模块支持多种与计算机视觉和机器学习相关的算法,应用领域日益扩大,大致如下
物体识别:通过视觉和内存判断物体,图像分割,人脸识别,安全驾驶,人机交互等。当然,这个小编并不打算介绍这么深刻的内容。今天我们就从最基础的opencv模块来说说图像的基本操作。
目录
模块的安装由pip命令执行。
pip安装opencv-python
pip安装opencv-contrib-python
模块的安装
研究线性代数的正定矩阵并不陌生。本质上,图像是矩阵,灰度图像是普通矩阵,彩色图像是多维矩阵。我们对图像的操作自然可以转化为对矩阵的操作。
图片的各种操作
首先,我们来看图像。调用方法cv2.imread(),其语法格式如下
cv2.imread(文件名,标志=1)
的flag参数用于设置要读取的图像的格式。默认值为1,表示按照RGB三通道的格式读取。如果设置为0,则表示在单通道灰度图像中读取。
导入cv2
将numpy作为np导入
img=cv2.imread(1.jpg ,0)
读取图像
cv2.imshow(名称,img)
这些参数解释如下:
名称:是显示窗口的名称。img:是图片的矩阵形式。我们尝试显示上面阅读的图片。代码如下所示
cv2.imshow(grey_img ,img)
# #如果使用了cv2.imshow()函数,那么后面必须跟一个破坏窗口的函数。
cv2.destroyAllWindows()
当我们运行上面的代码时,可以发现画面在一瞬间弹开了,但是在我们看清楚画面之前就直接关闭了。原因是cv2.imshow()函数方法没有延迟。我们用下面的代码添加一个延迟函数。
导入cv2
将numpy作为np导入
img=cv2.imread(1.jpg )
cv2.imshow(grey_img ,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出
展示图像
最后,我们保存图片。这里使用的函数是cv2.imwrite(),其语法格式如下
cv2.imwrite(imgname,img)
这些参数解释如下:
要保存的图片的Imgname:图片的矩阵形式示例代码如下
导入cv2
将numpy作为np导入
img=cv2.imread(1.jpg )
cv2.imshow(grey_img ,img)
cv2.waitKey(0)
cv2.imwrite(1.png ,img)
cv2.destroyAllWindows()
图片保存
有时候我们想知道一张图片的像素大小,但是图片的本质是一个矩阵。例如,1024像素乘960像素的图片意味着矩阵中的行数是960,列数是1024。opencv模块中调用的shape()函数方法如下
导入cv2
img=cv2.imread(1.jpg )
Print(img.shape[0]) #行数
Print(img.shape[1]) #列数
Print(img.shape[2]) #通道数
输出
308
340
三
可以看到图片的像素为340*380,通道数为3。对于灰度图像,我们来看看图片的属性。代码如下所示
img=cv2.imread(1_grey.png ,0)
打印(图像形状)
输出
(308,340)
可以看出,对于灰度图像,我们看到的不是通道数,而是行数和列数。
图片的各种属性
最后对图像做一些基本操作,无非就是改变一些像素值。我们导入一个空白图像,并通过修改像素值在其中添加一个黑点。代码如下所示
导入cv2
将numpy作为np导入
img=cv2.imread(2.jpg )
(x,y,z)=img.shape
对于范围(-10,10):内的I
对于范围(-10,10):内的j
#图片右中心的位置来改变像素值,
img[int(x/2) i,int(y/2) j]=(0,0,0)
cv2.imshow(img ,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出
关于Python OpenCV的基本图像处理的这篇文章到此为止。关于Python OpenCV图像处理的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。