Python OpenCV基本功能怎么用
Python OpenCV基本功能怎么用
本篇内容主要讲解“PythonOpenCV基本功能怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PythonOpenCV基本功能怎么用”吧!
准备工作
右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2
导入cv2库。
转成灰度图像
调用imread()方法获取我们资源文件夹中的图片lena.png
cvtColor()方法可以让我们的图片转换成任意颜色,第一个参数是我们要转换的图片,第二个参数是要转成的颜色空间,
cv2.COLOR_BGR2GRAY
就是由BGR变为GRAY,我们日常生活中都是RGB三通道顺序,而在OpenCV中是BGR顺序。使用imshow()方法显示图片,窗口名称为Gray Image
waitKey(0)这句可以让窗口一直保持,如果去掉这句,窗口会一闪而过
img=cv2.imread("Resources/lena.png")imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)cv2.imshow("GrayImage",imgGray)cv2.waitKey(0)
我们来看下效果:
高斯模糊
GaussianBlur()是对图片进行高斯模糊(也称为高斯平滑),是去除图像噪声的一种方法。
第一个参数是图像,第二个参数(7,7)是卷积核的大小,只能是奇数长度的矩阵,第三个参数是Sigma X,默认为0
imshow()显示原图和灰度图
img=cv2.imread("Resources/lena.png")imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)imgBlur=cv2.GaussianBlur(imgGray,(7,7),0)cv2.imshow("GrayImage",imgGray)cv2.imshow("BlurImage",imgBlur)cv2.waitKey(0)
我们来看下效果,左为原图,右是高斯模糊:
边缘检测
边缘检测Canny()方法中第一个参数是图像,第二个参数是阈值1,第三个参数是阈值2,用来显示灰度值在此范围内的边缘线。
img=cv2.imread("Resources/lena.png")imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)imgBlur=cv2.GaussianBlur(imgGray,(7,7),0)imgCanny=cv2.Canny(img,150,200)cv2.imshow("GrayImage",imgGray)cv2.imshow("BlurImage",imgBlur)cv2.imshow("CannyImage",imgCanny)cv2.waitKey(0)
我们运行看下效果:
膨胀运算
膨胀运算中,会用到numpy库,我们先导入一下:import numpy as np
定义一下大小为5x5的卷积核:kernel=np.ones((5,5),np.uint8),数值类型是无符号整型
kernel=np.ones((5,5),np.uint8)img=cv2.imread("Resources/lena.png")imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)imgBlur=cv2.GaussianBlur(imgGray,(7,7),0)imgCanny=cv2.Canny(img,150,200)imgDialation=cv2.dilate(imgCanny,kernel,iterations=1)cv2.imshow("GrayImage",imgGray)cv2.imshow("BlurImage",imgBlur)cv2.imshow("CannyImage",imgCanny)cv2.imshow("DialationImage",imgDialation)cv2.waitKey(0)
我们看下效果,膨胀使得边缘线变得更厚,全部连接到一块。
腐蚀运算
我们对刚刚膨胀的图像进行腐蚀运算,就可以得到闭合的边缘图像。
kernel=np.ones((5,5),np.uint8)img=cv2.imread("Resources/lena.png")imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)imgBlur=cv2.GaussianBlur(imgGray,(7,7),0)imgCanny=cv2.Canny(img,150,200)imgDialation=cv2.dilate(imgCanny,kernel,iterations=1)cv2.imshow("GrayImage",imgGray)cv2.imshow("BlurImage",imgBlur)cv2.imshow("CannyImage",imgCanny)cv2.imshow("DialationImage",imgDialation)cv2.waitKey(0)
从左到右依次为膨胀图像、腐蚀图像、边缘检测图像
到此,相信大家对“PythonOpenCV基本功能怎么用”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
推荐阅读
-
python多行注释符号怎么表示
python多行注释符号怎么表示这篇文章主要介绍“python多行...
-
python支持的操作系统是什么
python支持的操作系统是什么这篇文章主要介绍“python支持...
-
python如何判断列表为空
python如何判断列表为空这篇文章主要介绍“python如何判断...
-
Python如何利用D3Blocks绘制可动态交互的图表
-
2021年度编程语言揭晓
-
PPython:PHP 拥抱 Python 的利器
-
哪种Python IDE最适合你?这里有一份优缺点列表
-
Python分隔字符串函数用法split
aaa,bbb=str.split(‘&&’,2)第一个参数为分隔符第二个参数是要完成的最大拆分数...
-
php安全编程——python测试实例编写
-
神奇的Python模块:pdfkit,将Python抓取的网址内容保存pdf文件