
【OpenCV_边/线检测】
opencv边线检测
小魔王降临
人生需要不断进取和学习,生活需要时刻拼搏!!
展开
-
opencv-phase 函数
梯度的方向与边缘的方向总是垂直的。图像中的边缘可以指向各个方向,通常会取水平(左、右)、垂直(上、下)、对角线(左上、右上、左下、右下)等八个不同的方向计算梯度。由此可以看出opencv phase计算出的角度从0°-360°是已x轴正方向为0°,逆时针旋转增加,符合我们平常角度的计算方式。比如计算出的θ = 91 ° ,则应将其归类到67.5 ° — 112.5 °的区域,就是垂直向上方向。得到的角度一般不在前边指定的放个方向上,我们需要将角度分类到八个方向中。原创 2023-10-09 10:27:55 · 948 阅读 · 0 评论 -
图像增强-对数Log变换
图像的对数变换作用:由于对数曲线在像素值较低的区域斜率大,在像素值较高的区域斜率较小,所以图像经过对数变换后,较暗区域的对比度将有所提升,所以就可以增强图像的暗部细节。对数变换可以将图像的低灰度值部分扩展,显示出低灰度部分更多的细节,将其高灰度值部分压缩,减少高灰度值部分的细节,从而达到强调图像低灰度部分的目的。变换方法:对数变换对图像低灰度部分细节增强的功能过可以从对数图上直观理解...原创 2019-05-08 20:18:59 · 21796 阅读 · 0 评论 -
图像平滑处理-高斯滤波(三) (Gaussian Filter)
源图像GaussianBlur(q_matgray, q_matgaussian, Size(5, 5), 0.1);GaussianBlur(q_matgray, q_matgaussian, Size(5, 5), 0.5);GaussianBlur(q_matgray, q_matgaussian, Size(5, 5), 1.0);Gauss...原创 2019-05-24 10:31:23 · 185 阅读 · 0 评论 -
图像增强方法
图像增强的目的是采用某种技术手段,改善图像的视觉效果,或者将图像转换成更适合人眼观察和机器识别的形式。图像增强的基本方法主要有灰度变换、灰度均衡、伪彩色增强、平滑、锐化、滤波等。灰度变换、灰度均衡。线性滤波:方框滤波、均值滤波、高斯滤波非线性滤波:中值滤波、双边滤波图像增强可以分为两种:领域处理技术。对像素点及其周围的点进行处理,即使用卷积核。 点处理技术。只...原创 2019-05-09 08:49:50 · 9512 阅读 · 0 评论 -
图像增强-直方图均衡化
直方图均衡化 图像的直方图是什么?直方图是图像中像素强度分布的图形表达方式. 它统计了每一个强度值所具有的像素个数.直方图均衡化是什么直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法. 说得更清楚一些, 以上面的直方图为例, 你可以看到像素主要集中在中间的一些强度值上. 直方图均衡化要做的就是拉伸这个范围. 见下面左图: 绿圈圈出了少...原创 2019-05-08 19:22:33 · 3318 阅读 · 0 评论 -
图像增强-伽马变换
幂律变换/gamma变换幂律变换主要用于图像的校正,对漂白的图片或者是过黑的图片进行修正,幂律变换的公式如下:根据 γ的大小,主要可分为以下两种情况:γ > 1: 处理漂白的图片,进行灰度级压缩γ < 1: 处理过黑的图片,对比度增强,使得细节看的更加清楚γ值以1为分界,值越小,对图像低灰度部分的扩展作用就越强,值越大,对图像高灰度部分的扩展作用就越强,通...原创 2019-05-08 20:32:22 · 6366 阅读 · 3 评论 -
opencv求两条直线的交点
https://blog.youkuaiyun.com/csuyhb/article/details/81325670https://blog.youkuaiyun.com/zmdsjtu/article/details/78269820?utm_source=blogxgwz1https://blog.youkuaiyun.com/ycj9090900/article/details/53668753原创 2019-07-03 08:46:40 · 2635 阅读 · 0 评论 -
拉普拉斯-Laplacian
使用中心为5的8邻域拉普拉斯算子与图像卷积可以达到锐化增强图像的目的,拉普拉斯算子如下图所示: Mat image = imread("test.jpg", 1); imshow("原图像", image); Mat imageEnhance; Mat kernel = (Mat_<uchar>(3, 3) << 0, -1, 0, 0, 5, 0, 0, ...原创 2019-05-08 19:52:08 · 3299 阅读 · 0 评论 -
Prewitt和Sobel算子
在3*3模板中:我如下定义水平、垂直和两对角线方向的梯度:该定义下的算子称之为Prewitt算子:Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。计算公式为:Sobel算子: 上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,...原创 2019-05-31 16:46:24 · 21851 阅读 · 0 评论 -
Roberts
Mat src = imread("test.png", IMREAD_GRAYSCALE);imshow("src", src);//X方向—Robert算子Mat imgx;Mat kernel_x = (Mat_<int>(2, 2) << 1, 0, 0, -1);filter2D(src, imgx, -1, kernel_x, Point(-1...原创 2019-05-31 16:35:17 · 424 阅读 · 0 评论 -
Sobel算子
原理Soble边缘检测算法比较简,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,尤其是对效率要求较高,而对细纹理不太关心的时候。Soble边缘检测通常带有方向性,可以只检测竖直边缘或垂直边缘或都检测。 算子使用两个3*3的矩阵(图1)算子使用两个3*3的矩阵(图1)去和原始图片作...原创 2019-05-30 20:03:30 · 21504 阅读 · 2 评论 -
边缘梯度
边缘定义及类型 定义:边缘是不同区域的分界线,是周围(局部)像素有显著变化的像素的集合,有幅值与方向两个属性。边缘上的灰度变化平缓,边缘两侧的灰度变化较快,图像的边缘一般指局部不连续的的图像特征(某个小局部不连续了,不连续就是不一致了,打个比方,比如说是蓝的,突然变白了,这时候就产生边缘了)。一般是局部亮度变化最显著的部分,所以说边缘就是变化最显著的部分,灰度值的变化,颜色分量...原创 2019-05-23 20:00:00 · 4195 阅读 · 0 评论 -
标准HoughLines()变换
C++ API说明void cv::HoughLines (InputArray image, //8位,单通道二值源图像。该函数可以修改图像。 OutputArray lines,//输出直线vector(ρ,θ) or (ρ,θ,votes) //ρ是距坐标原点的距离, //θ是以弧...原创 2019-05-17 16:33:14 · 7230 阅读 · 0 评论 -
霍夫线变换
OpenCV中霍夫线变换有以下三种:标准霍夫变换(StandardHough Transform。SHT)。由HoughLines函数调用。 多尺度霍夫变换(Multi-ScaleHough Transform,MSHT)。由HoughLines函数调用。 累计概率霍夫变换(ProgressiveProbabilistic Hough Transform,PPHT),由HoughLin...原创 2019-05-17 14:48:56 · 646 阅读 · 0 评论 -
Canny图像边缘检测
C++ API说明void cv::Canny ( InputArray image, (输入图像:8-bit)OutputArray edges, (输出边缘图像:单通道,8-bit,size与输入图像一致)double threshold1, (阈值1)第一个滞后性阈值【低阈值】。值越大,找到的边缘越少double thr...原创 2019-04-13 11:30:18 · 4022 阅读 · 0 评论