
OpenCV图像处理
文章平均质量分 71
soleillllling
这个作者很懒,什么都没留下…
展开
-
OpenCV:查找和绘制轮廓
查找轮廓 void cv::findContours() 绘制轮廓 void cv::drawContours() 轮廓轮廓可以简单地解释为连接具有相同颜色或强度的所有连续点(沿边界)的曲线。详情:opencv学习(四十)之寻找图像轮廓findContours()【OpenCV3】图像轮廓查找与绘制——cv::findContours()与cv::drawContours()详解1.找到轮廓cv::findContours()void cv::findContour原创 2021-06-29 21:10:46 · 354 阅读 · 0 评论 -
OpenCV:图像金字塔
目录1.高斯金字塔cv::pryDown()cv::pryUp()2.拉普拉斯金字塔代码1:高斯金字塔reduce void cv::pyrDown() expand void cv::pyrUp() 1.高斯金字塔图像金字塔是对一张输入图像先模糊再下采样为原来的高、宽的1/2,不断重复模糊与下采样的过程就得到了不同分辨率的输出图像,叠加在一起就形成了图像金字塔。高斯金字塔便是先进行高斯模糊,再进行reduce和expand操作。高斯金字塔中的较.原创 2021-06-28 22:12:35 · 1323 阅读 · 12 评论 -
OpenCV:直方图
通道分离 void split(InputArray m,OutputArrayOfArrays mv); 直方图 cv::calcHist() 四舍五入取整 int cvRound(double value) 归一化 cv::normalize() 画线 cv::line() 1.直方图灰度直方图:每个灰度等级的出现次数。Bins:指直方图的大小范围。2.步骤1.三通道分离C++ void cv::split(cv原创 2021-06-27 16:56:34 · 166 阅读 · 0 评论 -
OpenCV:Canny算子边缘检测
目录1.简介2.cv::Canny()3.实践1.简介Canny边缘检测是一个多级边缘检测算法。主要步骤如下:(1)使用高斯平滑滤波器卷积降噪。(2)计算平滑后图像的梯度幅值与方向,可以采用不同的梯度算子。(3)对梯度幅值应用非极大抑制,其过程是找出图像梯度中的局部极大值点,把其他非局部极大值点置0。(4)使用双阈值检测和连接边缘。高阈值用于找到每一条线段,如果某一个像素位置的梯度幅值超过高阈值,表明找到了一条线段的起始。低阈值用于确定线段上的点,即以上一步找到的线段起.原创 2021-06-26 21:44:58 · 285 阅读 · 1 评论 -
OpenCV:图像锐化
1.简介边缘定义为图像中亮度突变的区域,可以利用微分方法去检测图像中的边缘。在图像处理中最常用的应用微分方法就是计算梯度(方向导数取最大值的方向的向量)。图像为离散的数字矩阵,因此用差分代替微分,得到梯度图像。梯度图像反映的是图像中灰度级的变化,边缘检测需要进一步判断梯度图像中的特殊点。图像锐化的目的是加强图像中景物的边缘与轮廓,突出图像中的细节或者增强被模糊了的细节。实质是将原图像和梯度图像相加,以增强图中的变化。2.RobertsSobelvoid Sobel ( I..原创 2021-06-25 21:58:12 · 13171 阅读 · 0 评论 -
OpenCV:形态学处理
腐蚀 cv::erode() 膨胀 cv::dilate() 开运算 cv::morphologyEx(in,out,MORPH_OPEN,...) 闭运算 cv::morphologyEx(in,out,MORPH_CLOSE,...) 形态学梯度 cv::morphologyEx(in, out, MORPH_GRADIENT, ...); 1.腐蚀2.膨胀3.开运算-先腐蚀再膨胀4.原创 2021-06-24 19:46:35 · 195 阅读 · 0 评论 -
OpenCV:图像平滑
目录1.2D卷积2.均值滤波3.高斯滤波4.中值滤波5.双边滤波代码图像平滑滤波:抑制或消除图像中存在的噪声的方法。对图像的低频分量增强,同时削弱高频分量。1.2D卷积filter2D(输入, 输出, 输出图像depth(), kernel);详情:https://blog.youkuaiyun.com/keith_bb/article/details/531030262.均值滤波void boxFilter( InputArray src, OutputA...原创 2021-06-24 17:02:41 · 243 阅读 · 1 评论 -
OpenCV:图像阈值
目录1.cv::threshold2.cv::adaptiveThreshold1.cv::threshold对于每个像素,应用相同的阈值。如果像素值小于阈值,则将其设置为0,否则将其设置为最大值。函数**cv.threshold**用于应用阈值。threshold(in, out, double thresh,double maxval,int type);参数1是源图像,它应该是灰度图像。参数2是输出图像参数3是阈值,用于对像素值进行分类。参数4是分配给超过阈值原创 2021-06-23 23:03:35 · 1692 阅读 · 19 评论 -
OpenCV:图像几何变换_平移,旋转,缩放
1.平移创建转换矩阵warpAffine(输入,输出,转换矩阵,输出图像大小,...) Mat image = imread("C:/Users/YY/Pictures/Saved Pictures/1.jpg"); Mat out; Mat M = (Mat_<double>(2, 3) << 1, 0, 40, 0, 1, 40); warpAffine(image, out, M, image.size()); imshow("显示", out);原创 2021-06-23 22:13:38 · 407 阅读 · 0 评论