我是靠谱客的博主 过时棒球,最近开发中收集的这篇文章主要介绍OpenCV均值滤波+膨胀腐蚀+Canny,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自:https://blog.csdn.net/routine__007/article/details/80444840

1. 图像显示

#include<opencv2opencv.hpp>
using namespace cv; //包含cv命名空间

void main(){
   Mat img = imread("1.jpg"); //载入图片
   imshow("【原始图】", img); //显示图像
   waitKey(0); //等待任意按键按下
}

在这里插入图片描述
2. 图像腐蚀
腐蚀,即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。

#include<opencv2highguihighgui.hpp> //OpenCV highgui模块头文件
#include<opencv2imgprocimgproc.hpp> //OpenCV 图像处理头文件
using namespace cv; //包含cv命名空间

int main(){
   //载入图片
   Mat img = imread("1.jpg");
   //显示原图
   imshow("【原图】腐蚀操作", img);
   //进行腐蚀操作
   Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
   Mat dstimg;
   erode(img, dstimg, element);
   //显示效果图
   imshow("【效果图】腐蚀操作", dstimg);
   waitKey(0);
   return 0;
}

在这里插入图片描述
3. 膨胀
膨胀,和腐蚀相反,从图像直观来看,就是将图像光亮部分放大,黑暗部分缩小。

#include<opencv2highguihighgui.hpp> //OpenCV highgui模块头文件
#include<opencv2imgprocimgproc.hpp> //OpenCV 图像处理头文件
using namespace cv; //包含cv命名空间
 
int main(){
	//载入图片
	Mat img = imread("1.jpg");
	//显示原图
	imshow("【原图】膨胀操作", img);
	//进行膨胀操作
	Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
	Mat dstimg;
	dilate(img, dstimg, element);
	//显示效果图
	imshow("【效果图】膨胀操作", dstimg);
	waitKey(0);
	return 0;
}

在这里插入图片描述
4. 均值滤波

#include<opencv2highguihighgui.hpp>
#include<opencv2imgprocimgproc.hpp>
using namespace cv;
 
int main(){
	//载入原图
	Mat img = imread("1.jpg");
	//显示原图
	imshow("【原图】均值滤波", img);
	//进行均值滤波操作
	Mat dstimg;
	blur(img, dstimg, Size(7, 7));
	//显示效果图
	imshow("【效果图】均值滤波", dstimg);
	waitKey(0);
	return 0;
}

在这里插入图片描述

5. canny边缘检测

#include<opencv2highguihighgui.hpp>
#include<opencv2imgprocimgproc.hpp>
using namespace cv;
 
int main(){
	//载入原图
	Mat srcImage = imread("1.jpg");
	//显示原图
	imshow("【原图】Canny边缘检测", srcImage);
	Mat dstImage, edge, grayImage;
	//【1】创建于src同类型和大小的矩阵dst
	dstImage.create(srcImage.size(), srcImage.type());
	//【2】将原图像转换成灰度图像
	cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
	//【3】先使用3*3内核来降噪
	blur(grayImage, edge, Size(3, 3));
	//【4】运行Canny算子
	Canny(edge, edge, 3, 9, 3);
	//显示效果图
	imshow("【效果图】Canny边缘检测", edge);
	waitKey(0);
	return 0;
}

在这里插入图片描述

最后

以上就是过时棒球为你收集整理的OpenCV均值滤波+膨胀腐蚀+Canny的全部内容,希望文章能够帮你解决OpenCV均值滤波+膨胀腐蚀+Canny所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部