您的位置:首页 > 运维架构

题目:opencv下对图像进行图像模糊(均值滤波)处理和边缘检测

2017-03-28 17:21 639 查看
题目:opencv下对图像进行图像模糊处理和边缘检测

一、对图像进行图像模糊处理

代码如下:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace cv;

int main()
{
//【1】载入原始图
Mat srcImage = imread("E:\\code\\1.jpg");

//【2】显示原始图
imshow("均值滤波【原图】", srcImage);

//【3】进行均值滤波操作
Mat dstImage;
blur(srcImage, dstImage, Size(7, 7));

//【4】显示效果图
imshow("均值滤波【效果图】", dstImage);

waitKey(0);
}


运行结果:



二、对图像进行边缘检测处理

代码如下:

#include <opencv2/opencv.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;

int main()
{
//【0】载入原始图
Mat srcImage = imread("E:\\code\\1.jpg");  //工程目录下应该有一张名为1.jpg的素材图
imshow("【原始图】Canny边缘检测", srcImage); 	//显示原始图
Mat dstImage, edge, grayImage;	//参数定义

//【1】创建与src同类型和大小的矩阵(dst)
dstImage.create(srcImage.size(), srcImage.type());

//【2】将原图像转换为灰度图像
//此句代码的OpenCV3版为:
cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);

//【3】先用使用 3x3内核来降噪
blur(grayImage, edge, Size(3, 3));

//【4】运行Canny算子
Canny(edge, edge, 3, 9, 3);

//【5】显示效果图
imshow("【效果图】Canny边缘检测", edge);

waitKey(0);

return 0;
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐