![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
文章平均质量分 56
OpenCV零基础学习
吃个糖糖
这个作者很懒,什么都没留下…
展开
-
32 OpenCV Harris角点检测
【代码】32 OpenCV Harris角点检测。原创 2024-05-05 22:33:46 · 325 阅读 · 1 评论 -
31 OpenCV 距离变换和分水岭算法
2. 使用filter2D与拉普拉斯算子实现图像对比度提高,sharp。1.将白色背景变成黑色-目的是为后面的变换做准备。5. 对距离变换结果进行归一化到[0~1]之间。7. 腐蚀得到每个Peak - erode。8.发现轮廓 – findContours。9. 绘制轮廓- drawContours。3. 转为二值图像通过threshold。6. 使用阈值,再次二值化,得到标记。10.分水岭变换 watershed。11. 对每个分割区域着色输出结果。原创 2024-04-28 22:27:23 · 537 阅读 · 1 评论 -
30 OpenCV 点多边形测试
【代码】30 OpenCV 点多边形测试。原创 2024-04-25 23:13:11 · 408 阅读 · 0 评论 -
29 OpenCV 图像距
【代码】29 OpenCV 图像距。原创 2024-04-24 22:04:38 · 710 阅读 · 1 评论 -
28 OpenCV 轮廓周围绘制图形
【代码】28 OpenCV 轮廓周围绘制图形。原创 2024-03-22 21:12:59 · 350 阅读 · 0 评论 -
27 OpenCV 凸包
什么是凸包(Convex Hull),在一个多变形边缘或者内部任意两个点的连线都包含在多边形边界或者内部。包含点集合S中所有点的最小凸多边形称为凸包。原创 2024-03-21 21:48:01 · 416 阅读 · 0 评论 -
26 OpenCV 查找边缘
【代码】26 OpenCV 查找边缘。原创 2024-03-21 21:02:34 · 430 阅读 · 0 评论 -
25 OpenCV模板匹配算法
模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。所以模板匹配首先需要一个模板图像T(给定的子图像)另外需要一个待检测的图像-源图像S工作方法,在带检测图像上,从左到右,从上向下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。其中 TM_SQDIFF 和 TM_SQDIFF_NORMED 方法的相似度值越小代表匹配程度越高,而其他方法则是相反,相似度值越大代表匹配程度越高。原创 2024-03-19 21:54:10 · 349 阅读 · 0 评论 -
24 OpenCV直方图反向投影
反向投影的作用是:在输入图像中寻找与模板图像最匹配的区域,也就是定位模板图像出现在输入图像的位置。原创 2024-03-18 21:53:03 · 573 阅读 · 0 评论 -
23 OpenCV 直方图比较
在计算直方图相似度时,常用的方法包括交叉相关性(Correlation)、卡方(Chi-Square)、巴氏距离(Bhattacharyya distance)等。这些方法可以帮助我们量化图像之间的相似性,从而在图像检索、匹配和分类等领域发挥重要作用。直方图比较的目的是衡量两幅图像之间的相似度或差异度。通过计算图像的颜色直方图并对其进行归一化处理,可以得到描述图像颜色分布的特征向量。然后,通过比较这些特征向量,我们可以评估两幅图像在颜色分布上的相似程度。原创 2024-03-18 21:00:44 · 510 阅读 · 0 评论 -
22 OpenCV 直方图计算
归一化函数的作用是将数据转换为特定范围内的值,通常是[0, 1]或者[-1, 1]。这种转换可以消除不同特征之间的量纲影响,使得不同特征之间具有可比性,有利于模型的训练和优化。归一化还有助于加快模型的收敛速度,提高模型的稳定性和准确性。上述直方图概念是基于图像像素值,其实对图像梯度、每个像素的角度、等一切图像的属性值,我们都可以建立直方图。这个才是直方图的概念真正意义,不过是基于图像像素灰度直方图是最常见的。原创 2024-03-17 21:22:02 · 506 阅读 · 0 评论 -
21 OpenCV 直方图均衡化
直方图均衡的目的是增强图像的对比度,使得图像中的各个区域的亮度分布更加均匀,从而提高图像的视觉质量。通过对图像的灰度直方图进行调整,将原始图像中灰度值分布不均匀的部分拉伸开来,使得整个灰度范围内的像素值都能得到充分利用,达到增强图像细节、改善图像质量的效果。直方图均衡也常用于图像增强、图像压缩、图像分割等领域。图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。原创 2024-03-17 10:26:10 · 553 阅读 · 0 评论 -
20 OpenCV像素重映
【代码】20 OpenCV像素重映。原创 2024-03-15 22:36:49 · 482 阅读 · 0 评论 -
19 OpenCV 霍夫曼变换检测圆
因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波。原创 2024-03-15 21:38:22 · 507 阅读 · 0 评论 -
18 OpenCV霍夫变换检测直线
【代码】18 OpenCV霍夫变换检测直线。原创 2024-03-15 21:03:53 · 540 阅读 · 0 评论 -
17 opencv 图像连通区域分析
首先将所有非0像素放到一个集合中,之后在集合中随机选出一个像素作为种子像素,根据邻域关系不断扩充种子像素所在的连通域,并在集合中删除掉扩充出的像素,直到种子像素所在的连通域无法扩充,之后再从集合中随机选取一个像素作为新的种子像素,重复上述过程直到集合中没有像素(类似DFS)两遍扫描法会遍历两次图像,第一次遍历图像时会给每一个非0像素赋予一个数字标签,当某个像素的上方和左侧邻域内的像素已经有数字标签时,取两者中的最小值作为当前像素的标签,否则赋予当前像素一个新的数字标签。原创 2023-05-13 11:15:39 · 22 阅读 · 0 评论 -
17 OpenCv Canny算子
高斯模糊 - GaussianBlur灰度转换 - cvtColor计算梯度 – Sobel/Scharr非最大信号抑制高低阈值输出二值图像。原创 2024-03-13 21:31:41 · 488 阅读 · 0 评论 -
16 OpenCV Laplance算子
在二阶导数的时候,最大变化处的值为零即边缘是零值。导数计算,依据此理论我们可以计算图像二阶导数,提取边缘。原创 2024-03-12 20:59:10 · 500 阅读 · 0 评论 -
15 OpenCV Sobel算子
是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度Soble算子功能集合高斯平滑和微分求导又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到图像X方法与Y方向梯度图像水平梯度垂直梯度最终图像梯度。原创 2024-03-11 21:32:11 · 437 阅读 · 0 评论 -
14 OpenCv边缘处理
图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理。在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在 四周各填充1个像素的边缘,这样就确保图像的边缘被处理,在卷积处理之。原创 2024-03-10 10:27:30 · 441 阅读 · 0 评论 -
13 OpenCv自定义线性滤波
把kernel放到像素数组之上,求锚点周围覆盖的像素乘积之和(包括锚点),用来替换锚点覆盖下像素点值称为卷积处理。原创 2024-03-08 21:33:56 · 512 阅读 · 0 评论 -
12 OpenCv阈值处理
实际上是基于图片亮度的一个黑白分界值,默认值是50%中性灰,即128,亮度高于128(<50%的灰)的会变白,低于128(>50%的灰)的会变黑。为了从一副图像中提取出我们需要的部分,应该用图像中的每一个像素点的灰度值与选取的阈值进行比较,并作出相应的判断。(注意:阈值的选取依赖于具体的问题。左下方的图表示图像像素点Src(x,y)值分布情况,蓝色水平线表示阈值。左下方的图表示图像像素点Src(x,y)值分布情况,蓝色水平线表示阈值。左下方的图表示图像像素点Src(x,y)值分布情况,蓝色水平线表示阈值。原创 2024-03-07 22:16:09 · 685 阅读 · 0 评论 -
11 OpenCV 上采样与降采样,高斯不同(DOG)
定义:就是把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像。称为高斯不同(DOG)高斯不同是图像的内在特征,在灰度图像增强、角点检测中经常用到。原创 2024-03-07 21:33:30 · 544 阅读 · 0 评论 -
11 opencv 图像截取
感兴趣区域(ROI,region of interest),就是从图像中选择的一个图像区域,这个区域是图像分许所关注的重点,通过圈定这个区域,一边进一步的处理,而且使用ROI指定想读入的目标,可以减少处理时间,增加精度。原创 2023-04-28 16:40:18 · 13 阅读 · 0 评论 -
10 OpenCV 形态学的应用
想法:把获取二值化的图片轮廓,对直线进行开闭运算。adaptiveThreshold 二值化算子。原创 2024-03-05 22:02:06 · 866 阅读 · 0 评论 -
09 OpenCV图像的形态学运算
【代码】09 OpenCV图像的形态学运算。原创 2024-03-04 21:52:41 · 464 阅读 · 0 评论 -
08 OpenCV 腐蚀和膨胀
膨胀与腐蚀是数学形态学在图像处理中最基础的操作。其卷积操作非常简单,对于图像的每个像素,取其一定的邻域,计算最大值/最小值作为新图像对应像素位置的像素值。其中,取最大值就是膨胀,取最小值就是腐蚀。膨胀操作是取每个位置领域内最大值,所以膨胀后输出图像的总体亮度的平均值比起原图会有所升高,图像中比较亮的区域的面积会变大,而较暗物体的尺寸会减小甚至消失。膨胀和腐蚀是一对好基友,是相反的一对操作,所以腐蚀就是求局部最小值的操作。原创 2024-03-04 21:06:13 · 575 阅读 · 0 评论 -
07OpenCV 图像模糊
双边滤波是一种综合考虑滤波器内图像空域信息和滤波器内图像像素灰度值相似性的滤波算法,可以实现在保留区域信息的基础上实现对噪声的去除、对局部边缘的平滑。双边滤波器是两个滤波器的结合,分别考虑空域信息和值域信息,使得滤波器对边缘附近的像素进行滤波时,距离边缘较远的像素值不会对边缘上的像素值影响太多,进而保留了边缘的清晰性。6x6像素表中,3x3的卷积算子从图一所示的红色像素开始卷积,依次从左至右,从上至下。值域核:一定像素差范围进行局部模糊,像素值高的在高的部分模糊,低的在低的那部分模糊,保留了边缘区分。原创 2024-03-03 14:47:49 · 1074 阅读 · 0 评论 -
06 OpenCV增加图像的对比度
【代码】06 OpenCV增加图像的对比度。原创 2024-03-03 10:06:28 · 520 阅读 · 0 评论 -
05 OpenCV图像混合技术
其中 的取值范围为0~1之间。原创 2024-03-01 21:27:34 · 483 阅读 · 0 评论 -
04 Opencv图像操作
读一个RGB像素点的像素值 Vec3f intensity = img.at(y, x);读一个GRAY像素点的像素值(CV_8UC1) Scalar intensity = img.at(y, x);或者 Scalar intensity = img.at(Point(x, y));RGB三通道图像 img.at(y,x)[0]=128;灰度图像 img.at(y, x) = 128;原创 2024-02-29 22:17:58 · 596 阅读 · 0 评论 -
03OpenCV图像的掩膜操作
在图像处理方面,无论是加是减,乘除,都会超出一个像素灰度值的范围(0~255),saturate_cast函数的作用即是:当运算完之后,结果为负,则转为0,结果超出255,则为255。红色是中心像素,从上到下,从左到右对每个像素做同样的处理操作,得到最终结果就是对比度提高之后的输出图像Mat对象。注:相当于用一个刷子把图像的每隔几点的颜色增强(理解就行),以下为代码表达。filter2D 掩码算子。原创 2024-02-28 22:00:03 · 523 阅读 · 0 评论 -
02 OpenCV 加载修改保存图片
waitKey:键盘绑定函数。imshow 显示图片。cvtColor 函数。imread 读取图片。原创 2024-02-27 21:15:51 · 438 阅读 · 0 评论 -
01 Opencv安装设置
找到opencv中include库路径。找到opencv中ilib库路径。分别包含到包含目录和库目录中。在VS 中创建空目录。原创 2023-01-09 18:22:14 · 14 阅读 · 0 评论