【Nano Pi 2】-11 OpenCV开发(二)几个例子

  • cztqwan
  • LV5工程师
  • |      2016-01-10 23:47:31
  • 浏览量 1382
  • 回复:3

Nano Pi 2-11 OpenCV开发(二)几个例子

——cztqwan



转载请注明ICKey



一、前言


前一个帖子已经在Nano Pi2上运行了一个简单的例子,由于没有摄像头模块,所以用了一个很简单的例子来测试预装的OpenCV软件库是否正常。本帖将实现几个比较简单的例子,继续展示OpenCV的功能。


二、图像腐蚀


图像腐蚀是最基本的形态学运算之一, 即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。代码如下:



程序首先是载入图像,然后显示原图像,接着定义一个Mat类型的变量来获得getStructuringElement函数的返回值,而getStructuringElement函数的返回值为指定形状和尺寸的结构元素。接着调用erode函数进行图像腐蚀操作,最后调用imshow函数显示处理后的图像,用waitKey函数等待按键按下,以便能让窗口一直显示。效果如下:



三、均值滤波


均值滤波可以模糊图像,在图像上对目标像素给一个模板,该模板包括了其周围的临近像素,再用模板中的全体像素的平均值来代替原来像素值。



程序代码作常好理解,载入并显示原始图后,调用一次blur函数,最后显示效果图。效果如下:


 


四、边缘检测


边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。



载入图像,并将其转成灰度图,再用 blur函数进行图像模糊以降噪,然后用canny函数进行边缘检测,最后进行显示。效果如下:



五、视频播放


视频播放其实就是把一帧一帧的图像按一定的速度显示出来。



首先定义了一个Mat变量,用于存储每一帧的图像,接着读取当前帧到Mat变量中,然后调用imshow显示当前的这一帧图像,并用waitKey延时30毫秒,开始下一次循环。




六、结语


Nano Pi2Debian固件对OpenCV的支持是非常不错的,学习OpenCV的同学使用一个Nnao Pi2应该是非常方便的。


  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:3
Tan654321 2016-01-12
楼主求教!!!
0   回复
举报
发布
cztqwan 2016-01-11
多谢支持
0   回复
举报
发布
泽泽 2016-01-11
不错不错 ,谢谢分享  
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子