计算机视觉
AA_BUYI工作室
大三学生,记录学习经历
展开
-
OpenCv--边缘检测(Sobel,拉普拉斯算子)
边缘边缘(edge)是指图像局部强度变化最显著的部分。主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。图像强度的显著变化可分为:阶跃变化函数,即图像强度在不连续处的两边的像素灰度值有着显著的差异; 线条(屋顶)变化函数,即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值。图像的边缘有方向和幅度两...原创 2018-08-27 20:42:16 · 3112 阅读 · 0 评论 -
OpenCv--轮廓发现
轮廓发现前言: 当我们通过阈值分割提取到图像中的目标物体后,我们就需要通过边缘检测来提取目标物体的轮廓,使用这两种方法基本能够确定物体的边缘或者前景。接下来,我们通常需要做的是拟合这些边缘的前景,如拟合出包含前景或者边缘像素点的最小外包矩形、圆、凸包等几何形状,为计算它们的面积或者模板匹配等操作打下坚实的基础。一、查找、绘制轮廓 首先了解一下轮廓的定义。一个...原创 2018-08-29 20:22:26 · 710 阅读 · 0 评论 -
OpenCv--模板匹配
模板匹配模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术.实现: 我们需要2幅图像: 原图像 (I): 在这幅图像里,我们希望找到一块和模板匹配的区域 模板 (T): 将和原图像比照的图像块 我们的目标是检测最匹配的区域: 为了确定匹配区域, 我们不得不滑动模板图像和原图像进行 比较 : 通过 滑动, 我们的意思是图像块一次移动一个...原创 2018-08-29 19:43:58 · 2210 阅读 · 0 评论 -
OpenCv--像素重映射
重映射把一个图像中一个位置的像素放置到另一个图片指定位置的过程.为了完成映射过程, 有必要获得一些插值为非整数像素坐标,因为源图像与目标图像的像素坐标不是一一对应的.简单的说就是改变图片的位置(左,右,上,下,颠倒) void remap(InputArray src, OutputArraydst, InputArray map1, InputArray map2, i...原创 2018-08-28 21:17:06 · 300 阅读 · 0 评论 -
OpenCv--霍夫圆检测
霍夫圆变换版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/dcrmg/article/details/52506538解释:霍夫圆变换的基本思路是认为图像上每一个非零像素点都有可能是一个潜在的圆上的一点,跟霍夫线变换一样,也是通过投票,生成累积坐标平面,设置一个累积权重来定位圆。 在笛卡尔坐标系中圆的方程为: 其...转载 2018-08-28 20:02:23 · 7479 阅读 · 3 评论 -
OpenCv--霍夫直线变换(检测直线)
霍夫直线检测(投票)霍夫变换是一种在图像中寻找直线,圆及其他简单形状的方法。 opencv支持两种不同的霍夫变换:标准霍夫变换(SHT)和累积概率霍夫变换(PPHT)。在opencv中可以使用同一个函数来使用两种算法。CvSeq* cvHonghLines2(CvArr* image, void* line_storage,int mehtod, double rho, double ...原创 2018-08-28 19:26:24 · 23924 阅读 · 5 评论 -
OpenCv--canny算子提取边缘
利用坎尼边缘检测算子进行边缘检测的原理及OpenCV的代码实现Canny算子是John Canny在1986年发表的论文中首次提出的边缘检测算子,该算子检测性能比较好,应用广泛。最优边缘检测的三个主要评价标准是:低错误率: 标识出尽可能多的实际边缘,同时尽可能的减少噪声产生的误报。 高定位性: 标识出的边缘要与图像中的实际边缘尽可能接近。 最小响应: 图像中的边缘只能标识一次。...原创 2018-08-27 21:08:04 · 1553 阅读 · 0 评论 -
OpenCv--图像金字塔以及图像的缩放
一,图像金字塔解释:图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们...原创 2018-08-27 19:07:47 · 852 阅读 · 0 评论 -
OpenCv--提取水平和垂直线(通过膨胀和腐蚀操作)
提取步骤输入彩色图像 转换为灰度图像--cvtcolor 转换为二值图像--adaptiveThreshold(Threshold) 定义结构元素 *(重点) 开操作(腐蚀+膨胀)提取,水平和垂直线二值图像 二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素不是0就是1,再无其他过渡的灰度值。图像二值化的作用是为了方便提取图像中的信息,二值图像在进行计算机...原创 2018-08-27 18:10:07 · 3600 阅读 · 0 评论 -
OpenCv--形态学操作(膨胀,腐蚀,开操作,闭操作)
形态学操作形态学(形态学)常应用在生物学中,研究动植物的形态和结构;图像形态学即数学形态学(Mathematical morphology)是一门建立在格伦和拓扑学基础上的图像分析学科,是数学形态学图像处理的基本理论;常见图像形态学运算:腐蚀,膨胀,开运算,闭运算,骨架抽取,极线腐蚀,击中击不中变换,顶帽变换,颗粒分析,流域变换,形态学梯度等;最基本的形态学操作是:膨胀(扩张)和腐...原创 2018-08-27 14:28:19 · 15399 阅读 · 0 评论 -
OpenCv--图像模糊处理(均值,高斯,中值,双边)
图像模糊 - 线性滤波 均值滤波 高斯滤波 中值滤波 2.非线性滤波双边滤波图像模糊的作用 - 模糊操作时图像处理中最简单和常用的操作之一,该使用的操作之一原因就为了给图像预处理时减低噪声。模糊操作的基本原理 - (数学的卷积运算) 其中权重核H(K,L)H(K,L)为“滤波系数”上面的式子可以简记为: 通常这些卷积...原创 2018-08-27 11:40:57 · 14580 阅读 · 0 评论 -
OpenCv--绘制形状和文字
绘制形状和文字线(线) 矩形(长方形) 圆(圆) 椭圆(椭圆) 填充(fillPoly)API展示#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;void mylines();void myrectangle();void...原创 2018-08-27 10:15:53 · 253 阅读 · 0 评论 -
OpenCv--调整图像亮度和对比度
图像变换 像素变换-点操作 邻域操作-区域调整图像亮度和对比度属于像素变换-点操作原理:g(x,y)=f(x,y)+ 示例代码:#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ //原理...原创 2018-08-25 15:56:18 · 226 阅读 · 0 评论 -
OpenCv学习总结--图像的掩膜操作
1.掩膜(mask)的定义用选定的图像,图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。光学图像处理中,掩模可以足胶片,滤光片等。掩模是由0和1组成的一个二进制图像。当在某一功能中应用掩模时,1值区域被处理,被屏蔽的0值区域不被包括在计算中。通过指定的数据值,数据范围,有限或无限值,感兴趣区和注释文件来定义图像掩模,也...转载 2018-08-25 15:35:04 · 1315 阅读 · 0 评论 -
OpenCv--寻找凸包convexHull()
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/keith_bb/article/details/701940731.概述凸包(Convex Hull)是一个计算几何(图形学)中的概念,在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。 X的凸包可以用X内所有点(x1, x2….xn)的线性组合来构造。在二维...原创 2018-08-29 20:54:35 · 493 阅读 · 0 评论