opencv中的图像模糊和canny边缘检测

图像模糊的原理是:利用滤波的形式使图像变得模糊
调用函数是blur();这个是中值滤波的函数
整体的编程思路:
1.调用头文件两种调用格式都可以的
2.命名程序的运行空间
3.进入主程序
1.载入原图像
2.显示原图像
3.定义滤波后图像的存储类型和存储空间
4.调用中值滤波函数blur,调用格式是blur(原图像,滤波后的图像,实际滤波时加的窗函数);
5.显示模糊后的图像,调用waitKey()函数等待按键的按下
以上就是图像模糊的原理,其实就是调用滤波器
Canny边缘检测:
canny算子的图像处理用于提取图像的边缘的
1.调用头文件
2.以cv命名程序空间用来存放要运行的程序
3.进入主函数
1.载入原图像
2.显示原图像
3.定义存放图像数据的变量
4将RGB图像转换成灰度图像,所调用的函数为cvtColor,不同类型得图像数据之间的转换,调用形式为cvtColor(原始图像,转换之后的图像,图像类型转换的形式);
将RGB图像转换成灰度图像CV_BGR2GRAY();这个和matlab中的转换形式有差别
5.Canny算子的调用形式,Canny(灰度图像,变换之后的图像,3,9,3);
6.显示canny算子提取后的图像。
7.用waitKey来等待按键的按下,程序结束
图像模糊的程序:均值滤波
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img=imread(“ruxue1.jpg”);
imshow(“原图”,img);
Mat Mimg,img1;
img1=img.clone();
imshow(“克隆”,img1);
blur(img,Mimg,Size(5,5)); //均值滤波的操作窗函数的创建,均值滤波的创建
imshow(“模糊后的图像”,Mimg);
waitKey(0);
return 3;//默认会返回一个0
}
Canny边缘检测的程序:
#include<opencv2/opencv.hpp>
#include<opencv2/imgproc/imgproc.hpp>//可以有可以无的
using namespace cv;
int main()
{
Mat img=imread(“6.jpg”);
imshow(“原图”,img);

Mat edge,grayimg; //定义两个变量,一个是用来存放灰度图像,一个使用来存放滤波后的图像
cvtColor(img,grayimg,CV_BGR2GRAY);  //把rgb图像转换成gray灰度图像

//blur(grayimg,edge,Size(3,3));       //对灰度图像进行滤波处理
Canny(grayimg,edge,3,9,3);
imshow("边缘提取后的图像",edge);
waitKey(0);
return 1;

}
成功的路上需要一点一滴的总结和积累

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值