OpenCV启程-图像处理简单例程

上一个文档,已经学习了简单的图像处理类,现在可以用那些简单的函数来进行例程学习了,其实都是最简单的,后续还会详细学习的,现在就是了解一下。

第一个程序:图像显示

就是用Mat和imread以及imshow初始化、加载、显示图像

#include <opencv2/opencv.hpp>

using namespace cv;

void main()

{

Mat srcImage = imread("d:\\ss.jpg");    //载入图像

imshow("原始图", srcImage);    //显示图像

waitKey(0);

}


第一个程序:显示图像

第二个程序:图像腐蚀

这是最基本的图像形态学运算之一  腐蚀。就是暗色“腐蚀”掉高亮部分。

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int main()

{

Mat srcImage = imread("d:\\ss.jpg");

imshow("原图", srcImage);

Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));    //腐蚀程度

Mat dstImage;

erode(srcImage, dstImage, element);    //腐蚀

imshow("腐蚀后", dstImage);

waitKey(0);

return 0;

}

图像腐蚀

第三个程序:图像模糊(均值滤波) blur函数

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int main()

{

Mat srcImage = imread("d:\\ss.jpg");

imshow("原图", srcImage);

Mat dstImage;

blur(srcImage, dstImage, Size(7, 7));    //滤波

imshow("滤波后", dstImage);

waitKey(0);

return 0;

}


滤波图

第四个程序:边缘检测  canny函数

大致可分为:载入图像、转成灰度图、blur降噪、canny边缘检测

#include <opencv2/opencv.hpp>

#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int main()

{

Mat srcImage = imread("d:\\ss.jpg");

imshow("原图", srcImage);

Mat grayImage, dstImage, edges;

cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);    //转灰度

imshow("灰度图", grayImage);

blur(grayImage, dstImage, Size(3, 3));    //滤波

imshow("降噪图", dstImage);

Canny(dstImage, edges, 3, 9, 3);    //边缘检测

imshow("边缘检测",edges);

waitKey(0);

return 0;

}

边缘检测

这是OpenCV最简单的图像处理,下一篇将进行视频处理例程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。