openCV学习笔记(一):简单图像处理函数

首先完成Opencv配置后,几个简单的图像处理程序。

一、图像显示:

     

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

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

其中#include<opencv2/opencv.hpp>为Opencv头文件的包含。using namespace cv; 为命名空间的包含

Mat为图像储存数据结构,imshow()为图像显示函数。

效果图就不放了。

二、图像腐蚀:

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

int main()
{
	Mat img = imread("D://picture//langduo.jpg");      //载入原图像
	imshow("【原始图】", img);    //显示原图像

	Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));    //对原图像进行腐蚀操作
	Mat Img;
	erode(img, Img, element);
	imshow("【效果图】", Img);     //显示效果图

	waitKey(0);     //等待任意键按下
	return 0;
}

首先载入和显示一幅图片,然后定义一个Mat类型的变量来获得getStructuringElement 函数的返回值,而getStructuringElement函数的返回值为指定形状和尺寸的结构元素(内核矩阵)。参数准备完毕,用erode函数进行图像腐蚀操作,imshow函数进行显示。效果图略。

三、图像模糊

#include<opencv2/highgui/highgui.hpp>                       //包含头文件以及命名空间
#include<opencv2/imgproc/imgproc.hpp>     

using namespace cv;

int main()
{
	Mat img = imread("D://picture//langduo.jpg");            //载入原始图
	imshow("【原始图】", img);                               //显示原始图
	Mat Img;
	blur(img, Img, Size(7, 7));                              //进行均值滤波操作
	imshow("【均值滤波效果图】", Img);                       //显示效果图
	waitKey(0);
}

这里使用均值滤波操作,效果图略。

四、canny边缘检测

/
//    包含程序所使用的头文件和命名空间
//
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/opencv.hpp>


using namespace cv;

int main()
{
	Mat img = imread("D://picture//曼巴.jpg");    //载入原始图
	imshow("【原始图】", img);        //显示原始图
	Mat edge, grayImage;           //参数定义
	cvtColor(img, grayImage, CV_BGR2GRAY);        //将原图像转换为灰度图
	blur(grayImage, edge , Size(3,3));         //先使用3x3内核来降噪
	Canny(edge,edge,3,9,3);       //运行Canny算子

	imshow("【均值滤波效果图】",edge  );      //显示效果图
	waitKey(0);        //等待任意键按下
	return 0;
}

首先载入图像,将其转为灰度图再利用blur函数进行图像模糊以降噪,然后利用canny函数进行边缘检测,最后显示。效果图略。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值