肇庆管道保温施工 深入探讨opencv图像矫正算法实战 - 贵州铁皮保温施工_鑫诚防腐保温工程有限公司
贵州铁皮保温施工_鑫诚防腐保温工程有限公司
贵州铁皮保温施工_鑫诚防腐保温工程有限公司

肇庆管道保温施工 深入探讨opencv图像矫正算法实战

2026-01-12 15:58:09

肇庆管道保温施工 深入探讨opencv图像矫正算法实战
铁皮保温 摘要

在机器视觉中,对于图像的处理有时候因为放置的原因导致ROI区域倾斜,这个时候我们会想办法把它纠正为正确的角度视角来,方便下一步的布局分析与文字识别,这个时候通过透视变换就可以取得比较好的裁剪果。

本次实战,对于图像的矫正使用了两种矫正思路:

针对边缘比较明显的图像,使用基于轮廓提取的矫正算法。 针对边缘不明显,但是排列整齐的文本图像,使用了基于霍夫直线探测的矫正算法。 基于轮廓提取的矫正算法 整体思路: 图片灰度化,二值化 检测轮廓,并筛选出目标轮廓(通过横纵比或面积去除干扰轮廓) 获取目标轮廓的小外接矩形 获取小外接矩形的四顶点,并定义矫正图像后的四顶点 透视变换(四点变换) opencv实现(分解步骤):

(一)图片灰度化,二值化(开运算,消除噪点)

注意:由于原图像背景是白色,因此二值化时候要用THRESH_BINARY_INV

(二)提取轮廓,筛选轮廓

(三)求取小外接矩形以及四顶点坐标,并定义变换后的四顶点坐标

😄 这里需要注意的是:

RotatedRect 类的矩形返回的是矩形的中心坐标,倾斜角度。

Rect类的矩形返回的是矩形的左上角坐标,宽,高。因此要获取RotatedRect 类的矩形的宽,高就要用:

获取RotatedRect 类四顶点坐标的顺序依次是:左下-左上-右上-右下(可通过显示顶点依次查看)

对应矫正后的四顶点就是:(0,height)-(0,0)-(width,设备保温施工0)-(width,height)

(四)透视变换

基于霍夫直线探测的矫正算法

对于文本图像(如图),它没有明显的轮廓边缘去求四顶点。但是经过深入分析,可以发现:文本的每一行文字都是呈一条直线,而且这些直线都是平行的!

利用这个特征就可以实现基于霍夫直线探测的矫正算法:

用霍夫线变换探测出图像中的所有直线计算出每条直线的倾斜角,求他们的平均值根据倾斜角旋转矫正

💙先来看看什么是霍夫变换:

霍夫变换在检测各种形状的的技术中非常流行,如果你要检测的形状可以用数学表达式写出,你就可以是使用霍夫变换检测它。

霍夫变换的直线检测简单来说就是在空间坐标系和映射到另外一个参数空间,将空间坐标系中的每一个点映射到另外一个参数空间中的线,通过该参数空间中所有线的交叉次数得到实际空间坐标系中的直线。

在OpenCV中,使用Hough变换的直线检测在函数HoughLines和HoughLinesP中实现。

HoughLines函数(标准霍夫变换)

从平面坐标转换到霍夫空间,终输出是找到直线的坐标(r,θ)

HoughLinesP函数(霍夫变换直线概率)

从平面坐标转换到霍夫空间,终输出是找到直线的起点和终点(直角坐标系)

opencv实现(分解步骤):

(一)图片灰度化,Canny边缘提取

(二) 霍夫直线检测(HoughLines函数)并显示

😊核心代码分析:

由于需要求解直线的倾斜角度,因此这里使用了HoughLines函数,返回的是直线的步长和弧度(坐标系下)

通过坐标系下的步长和弧度,可以转换到直接坐标系下的两点坐标,然后显示。(原理如图)

(三)根据倾斜角度,进行放射变换(逆时针旋转矫正)

到此这篇关于深入探讨opencv图像矫正算法实战的文章就介绍到这了,更多相关opencv图像矫正内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

即可快捷访问个人邮箱和部门邮箱,企业微信内集成登录,直观、速度快、