opencv从零开始——0. 快速上手

来源:互联网 发布:有线网络信号增强器 编辑:程序博客网 时间:2024/05/21 15:49

0. 题记

最近在看非常火的一个剧——《人民的名义》,非常好看,看了之后,我突然有了一种解脱的感觉,从庸俗的价值观中解脱出来,也许做好一件事就已经足够了。

所以,是时候,开始opencv的旅程了。从零开始,这就是第0篇。


【注】所有的操作均在CentOS 6.7下进行,

环境搭建参考我的博文《CentOS安装OpenCV-2.4.13》

http://blog.csdn.net/shine_journey/article/details/69544219


1. 图像显示

代码如下:
#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char** argv ){    Mat img = imread("/mnt/hgfs/code_for_Linux/code_opencv/test1/pic/1.jpg");    imshow("loadpicture", img);    waitKey(0);    return 0;}//

效果如图:




2. 图像腐蚀

代码如下:
#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main(){    Mat srcImage = imread("/mnt/hgfs/code_for_Linux/code_opencv/test1/pic/v1.jpg");    imshow("[Before]corrosion", srcImage);    Mat elememt = getStructuringElement(MORPH_RECT, Size(15, 15));    Mat dstImage;    erode(srcImage, dstImage, elememt);    imshow("[After]corrosion", dstImage);    waitKey(0);    return 0;}//

效果如下:



3. 图像模糊(均值滤波)

代码如下:
#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main(){    Mat srcImage = imread("/mnt/hgfs/code_for_Linux/code_opencv/test1/pic/v3.jpg");    imshow("[Before]Mean filter", srcImage);    Mat dstImage;    blur(srcImage, dstImage, Size(7, 7));       imshow("[After]Mean filter", dstImage);    waitKey(0);    return 0;}//

效果如下:



4. 边缘检测

代码如下:
#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main(){    Mat srcImage = imread("/mnt/hgfs/code_for_Linux/code_opencv/test1/pic/v3.jpg");    imshow("[Before]edge detection", srcImage);    Mat edge, grayImage;    cvtColor(srcImage, grayImage, CV_BGR2GRAY);    blur(grayImage, edge, Size(3,3));    Canny(edge, edge, 3, 9, 3);      imshow("[After]edge detection", edge);    waitKey(0);    return 0;}//


效果如下:




5. 参考文献

[1] 毛星云 冷雪飞. OpenCV3编程入门[M]. 电子工业出版社, 2015.





---


0 0
原创粉丝点击