目录
概要
一、图像采集
二、图像标注
四、图像几何变换
六、形态学转换
概要
参考书籍:《机器视觉与人工智能应用开发技术》 廖建尚,钟君柳 出版时间:2024-02-01
- 图像采集
- 图像标注:绘制直线、矩阵、圆形、椭圆和多边形
- 图像灰度转换:灰度化、二值化等图像转换方法
- 图像几何变换:图像旋转、图像镜像、图像缩放、图像透视等方法
- 图像边缘检测:Sobel算子、Scharr算子、Laplacian算子、Canny算子等边缘检测算子
- 形态学转换:图像腐蚀、膨胀、开运算、闭运算等形态学转换方法
- 图像轮廓提取:提取轮廓的凸包、外接矩形、最小外接矩形、最小外接圆等方法
- 直方图均衡:绘制直方图、均衡化直方图、自适应均衡化直方图等方法
- 模板匹配:模板匹配方法
- 霍夫变换:直线检测、圆检测等方法
- 图像矫正:图像矫正方法
- 图像添加文字和水印:图像添加文字和水印的方法
- 图像去噪:方框滤波、均值滤波、高斯滤波、高斯双边滤波、中值滤波等消除噪声方法
一、图像采集
图像的基本概念
- 图像是由一个个点组成的,每一个点即一个像素。像素是图像的基本单元,每个像素都由明确数值来表示当前坐标点的颜色或灰度。
- 在数字设备中,图像是由像素组成的二维或三维矩阵,常见的图片格式包括:JPEG、PNG、BMP等。
- 视频则是由多张图片组成的序列,由于人眼存在视觉暂留效应,当图像以每秒超过24帧的速率显示时,静态画面会呈现出平滑连续变化的效果,这样的连续画面即为视频。常见的视频格式包括AVI、MP4、MOV等。
- 图像分辨率,是指每英寸长度内有多少个像素,一张1920x1080的图像,1920是指该图像额宽度方向上有1920个像素,1080是指该图像的高度方向上有1080个像素。
OpenCV视频处理接口:VideoCapture;
图像处理接口:imread、imshow、imwrite
二、图像标注
画直线(cv2.line):根据给出的起点和终点绘制两点之间的线条
画矩形(cv2.rectangle):根据矩形的左上角位置坐标和右下角位置坐标绘制矩形
画圆形(cv2.circle):根据给定的圆心和半径绘制圆
画椭圆(cv2.ellipse)
四、图像几何变换
图像旋转(cv2.warpAffine):以图像的中心为原点旋转一定的角度,即将图像上的所有像素都旋转一个相同的角度。图像经过旋转之后,其位置会发生变化,旋转后既可以把转出显示区域的图像截去,也可以扩大显示区域的图像范围以显示图像的全部内容。
图像镜像(cv2.flip):是一种与人们日常生活密切相关的变换,图像镜像是指原始图像相对于某一参照面旋转180°的图像。镜像变换又称为对称变换,分为水平镜像、垂直镜像、对角镜像等。镜像变换后,图像的宽和高不变。
水平镜像:以图像的垂直中轴线为中心,将图像分为左右两部分后进行对称变换。
垂直镜像:以图像的水平中轴线为中心,将图像分为上下两部分后进行对称变换。
对角镜像:将图像以水平中轴线和垂直中轴线的交点为中心进行对称交换,相当于将图像先后进行水平镜像和垂直镜像。
图像缩放(cv2.resize):将指定的图像在x方向和y方向按相同的比例进行缩放,从而获得一幅新的图片,称为全比例缩放。
如果x方向和y方向的缩放比例不同,则图像的比例缩放会改变原始图像像素间的相对位置,产生几何畸变。
在图像缩放过程中,涉及图像数据的删除与增加。若比例缩放所产生的图像中的像素在原始图像中没有相对应的像素时,特别在图像放大时,则需要考虑如何在放大后的空隙中加入新的图像颜色数据,增加颜色数据的方法主要根据周围相邻像素的颜色值进行插值计算。主要有3种插值方法:最近邻插值法、双线性插值方法、三次内插法。
- 最近邻插值法:新增加像素的灰度等于距它最近的像素的灰度。
- 双线性插值方法:新增加像素的灰度由其周围4个像素的灰度决定。
- 三次内插法:新增加的像素不仅考虑直接邻近点对它的影响,还需要考虑周围16个邻近灰度对它的影响。
六、形态学转换
常用的形态学转换有四种:腐蚀、膨胀、开运算、闭运算。
腐蚀(cv2.erode):一种消除边界点,使边界向内部收缩的过程。腐蚀的目的是把目标区域范围“变小”,可以用来消除小且无意义的物体。
膨胀(cv2.dilate):膨胀和腐蚀是一对相反的操作,将与物体接触的所有背景点合并到该物体中,使物体边界向外部扩张。
开运算(cv2.morphologyEx):先腐蚀后膨胀的过程称为开运算,用来消除小物体、在纤细点处分离物体,可以在不明显改变物体表面积的情况下平滑物体的边界。一般会使对象的轮廓变得光滑、断开狭窄的间隙和消除细的突出物。
闭运算(cv2.morphologyEx):先膨胀后腐蚀的过程称为闭运算,用来填充物体内的细小空洞、连接邻近物体,可以在不明显改变物体表面积的情况下平滑物体的边界。