【光电智造】计算机视觉方向必备opencv基础知识总览
来源:今日光电发布时间:2023-03-071747浏览
询问 AI今日光电






一般来说我们会使用OpenCV的C++和Python版本,所以下面分别对其安装进行介绍,以ubuntu系统为例。



OpenCV提供了许多内置的用于图像处理和计算机视觉相关操作的基础数据结构,它们都包含在core模块中,并且这些数据结构都已经针对速度和内存做了优化,下面以4.0版本为例进行介绍,参考https://docs.opencv.org/master/d9/df8/tutorial_root.html。
Opencv目录下”modules目录”列出了OpenCV包含的各个模块,其中core、highgui、imgproc是最基础的模块。



另外,原来在opencv2中的shape, superres, videostab, viz等模块被移动到opencv_contrib中,关于opencv contrib,我们以后再详细介绍。

OpenCv提供了多种基本的数据类型,常用的OpenCV的基本数据结构有以下几种:
Mat类
Point类
Size类
Rect类
Scalar类
Vec类
Range类

下面我们重点说一下MAT类。



这里使用的是python接口
1.图像读写
cv2.imread(文件名,显示控制参数) #读入图像
cv2.imshow(窗口名,图像名) #显示图像
cv2.imwrite(文件地址,文件名) #保存图像
cv2.namedWindow(窗口名) #创建窗口
cv2.destroyAllWindows() #销毁窗口
cv2.waitKey( [,delay]) #decay > 0 等待delay 毫秒
#decay < 0 等待键盘单击
#decay = 0 无限等待

2.图像缩放
dst = cv2.resize(src,dsize,fx,fy) #dsize表示缩放大小
#fx,fy缩放比例
3.图像翻转
dst = cv2.flip(src,flipCode)
#flipCode=0 以X轴为对称轴的翻转
#lipCode>0 以Y轴为对称轴的翻转
#flipCode<0 对X、Y轴同时翻转

4.通道拆分与合并
b,g,r = cv2.split(图像)
b = cv2.split(图像)[通道数] #拆分
bgr = cv2.merge([b,g,r]) #合并


6.1 网络资料
OpenCV Docs官方文档
https://docs.opencv.org/
OpenCV 官方Github
https://github.com/opencv/opencv
OpenCV 中文教程
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html
6.2 中文书籍
Python计算机视觉编程
OpenCV 3计算机视觉:Python语言实现
OpenCV算法精解:基于Python与C++
最后,推荐一下大家的Opencv学习路线。

本文仅做学术分享,如有侵权,请联系删文。
来源:新机器视觉

申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。

----与智者为伍为创新赋能----

投稿丨合作丨咨询联系邮箱:uestcwxd@126.com
QQ:493826566

新闻来源:今日光电,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。