一、OpenCV基本介绍
OpenCV 是一个开源的计算机视觉库,可以在opencv 获取。
OpenCV 设计用于进行高效的计算,十分强调实时应用的开发。它由 C++ 语言编写并进行了深度优化,从而可以享受多线程处理的优势。
OpenCV 的一个目标是提供易于使用的计算机视觉接口,从而帮助人们快速建立精巧的视觉应用。
OpenCV 库包含从计算机视觉各个领域衍生出来的 500 多个函数,包括工业产品质量检验、医学图像处理、安保领域、交互操作、相机校正、双目视觉以及机器人学。
二、安装opencv包
命令行直接输入即可
pip install opencv-python
三、opencv基本结构
- core:核心模块,主要包含了OpenCV中最基本的结构(矩阵,点线和形状等),以及相关的基础运算/操作。
- imgproc:图像处理模块,包含和图像相关的基础功能(滤波,梯度,改变大小等),以及一些衍生的高级功能(图像分割,直方图,形态分析和边缘/直线提取等)。
- highgui:提供了用户界面和文件读取的基本函数,比如图像显示窗口的生成和控制,图像/视频文件的IO等。
四、基本语法操作
1、读取显示图片
import cv2
img = cv2.imread("C:/Users/Asus/Pictures/test.jpg") # 生成图片
cv2.namedWindow("Image") #创建一个窗口
cv2.imshow("IMG", img) # 展示原图
# 等待图片的关闭
cv2.waitKey()
结果:
2、灰度处理
import cv2
img = cv2.imread("C:/Users/Asus/Pictures/test.jpg")
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#或者直接img_gray = cv2.imread("C:/Users/Asus/Pictures/test.jpg", 0)
cv2.imshow("IMG", img_gray) # 展示灰度处理后的图
# 等待图片的关闭
cv2.waitKey()
运行结果:
五、模板匹配函数
cv2.matchTemplate(image, templ, method, result=None, mask=None)
其中:image:待搜索图像
templ:模板图像
result:匹配结果
对于参数method:指定匹配方法,有如下几种:
- CV_TM_SQDIFF:平方差匹配法
- CV_TM_SQDIFF_NORMED:归一化平方差匹配法
- CV_TM_CCORR:相关匹配法
- CV_TM_CCORR_NORMED:归一化相关匹配法
- CV_TM_CCOEFF:系数匹配法
- CV_TM_CCOEFF_NORMED:化相关系数匹配法
未完待更···