在上一节中,已经完成了OPENCV的配置,在本节接触几个Opencv图像处理相关的程序,看看opencv用简洁的代码能够实现哪些有趣的图像效果。

1、第一个程序:图像显示

#include<opencv2/opencv.hpp>
using namespace cv;//包含cv命名空间
void main()
{
Mat srcImage = imread("D:\\FOR_SLAM\\lena.jpg");
imshow("原始图",srcImage);//显示图像
waitKey();//等待任意按键按下
}

2、第二个程序:图像腐蚀

如何用opencv实现最基本的形态学运算之一---腐蚀,即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。

#include<opencv2/highgui/highgui.hpp>//opencv highgui模块头文件
#include<opencv2/imgproc/imgproc.hpp>//opencv图像处理头文件
using namespace cv;//包含cv命名空间
int main()
{
//载入原图
Mat srcImage = imread("D:\\FOR_SLAM\\lena.jpg");
//显示原图
imshow("原始图",srcImage);//显示图像
//进行腐蚀操作
Mat element = getStructuringElement(MORPH_RECT,Size(,));
Mat dstImage;
erode(srcImage,dstImage,element);
//显示效果图
imshow("腐蚀效果图",dstImage);
waitKey();//等待任意按键按下
return ();
}

定义一个Mat类型的变量来获取getStructuringElement函数的返回值,而getStructuringElement函数的返回值为指定形状和尺寸的结构元素(内核矩阵)。参数准备完毕,接着便可以调用erode函数进行图像腐蚀操作

3、第三个程序:图像模糊

opencv对图像进行均值滤波操作,主要使用进行均值滤波操作额blur函数。

#include<opencv2/highgui/highgui.hpp>//opencv highgui模块头文件
#include<opencv2/imgproc/imgproc.hpp>//opencv图像处理头文件
using namespace cv;//包含cv命名空间
int main()
{
//载入原图
Mat srcImage = imread("D:\\FOR_SLAM\\lena.jpg");
//显示原图
imshow("原始图",srcImage);//显示图像
//进行均值滤波操作
Mat dstImage;
blur(srcImage,dstImage,Size(,));
//显示效果图
imshow("滤波效果图",dstImage);
waitKey();//等待任意按键按下
return ();
}

4、第四个程序:canny边缘检测

首先,载入图像,并将其转成灰度图,再用blur函数进行图像模糊以降噪,然后用canny函数进行边缘检测。

最新文章

  1. Spring 4 异常处理
  2. Java研发岗位面试归类B(附答案)
  3. 学习微信小程序之css12设置盒子内容的宽高
  4. easymock所测试的方法内部新NEW对象的处理
  5. iOS NSObject 的 isa 属性的类型 Class
  6. hibernate.cfg.xml配置文件和hbm.xml配置文件
  7. POJ 1062 昂贵的聘礼 最短路 难度:0
  8. BZOJ2295: 【POJ Challenge】我爱你啊
  9. svn解决方案汇总
  10. GDB调试之core文件(如何定位到Segment fault)
  11. Self referencing loop detected with type
  12. 关于javascript removeChild的那些事
  13. sys模块
  14. 【Linux】基于VMware搭建Linux系统
  15. LwIP Application Developers Manual7---lwIP with or without an operating system
  16. MinGW-w64非官方编译器集成安装包(很清楚)
  17. appium-doctor
  18. 设置tabBar、使用第三方插件和自定义组件使用简单实例
  19. MongoDB安装为Windows服务方法与注意事项
  20. 二进制包 vs. 源代码包

热门文章

  1. 浅学soap--------1
  2. mysql中事务隔离级别可重复读说明
  3. tensorflow 学习笔记-1
  4. STL的erase函数和lower_bound
  5. extern关键字祥解
  6. java代码输出质因数
  7. Angular常犯的错误
  8. C# Math.Round
  9. 用Nmap检测漏洞
  10. 五颜六色的记事本 Notepad2.cn