OpenCV均值滤波+膨胀腐蚀+Canny

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

1. 图像显示

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

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

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

#include<opencv2\highgui\highgui.hpp> //OpenCV highgui模块头文件
#include<opencv2\imgproc\imgproc.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<opencv2\highgui\highgui.hpp> //OpenCV highgui模块头文件
#include<opencv2\imgproc\imgproc.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<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.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<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.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;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值