前言

如果能够生活,那就好好生活。

如果能够学习,那就好好学习。

永远怀揣梦想,永远不要放弃。

简述

这一章主要是配置 OpenCV 和展示了一些示例,先敲出来感受一下。

与书配套的的 GitHub 仓库:https://github.com/QianMo/OpenCV3-Intro-Book-Src

图像腐蚀

用图像中的暗色部分“腐蚀掉”图像中的高亮部分。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <opencv2\opencv.hpp>  

using namespace cv;

int main()
{
Mat srcImage = imread("2.jpg"); //载入原图
imshow("src", srcImage); //显示原图
Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); //进行腐蚀操作
Mat dstImage;
erode(srcImage, dstImage, element); //显示效果图
imshow("output", dstImage);
waitKey(0);
return 0;
}

camera_canny

摄像头操作

通过摄像头调用来配合canny边缘检测,得到canny边缘检测并高斯模糊后的摄像头采集视频

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <opencv2\opencv.hpp>  
using namespace cv;

int main()
{
VideoCapture capture(0);
Mat edges;
while (1)
{
Mat frame; //用于存储每一帧的图像
capture >> frame; //读取当前帧
cvtColor(frame, edges, COLOR_BGR2GRAY); //转换BGR彩色图为灰度图像
blur(edges, edges, Size(7, 7)); //进行模糊,使用3x3内核降噪
Canny(edges, edges, 0, 30, 3); //进行canny边缘检测并显示
imshow("output", edges); //显示当前帧
if (waitKey(30) >= 0) break; //延时30ms
}
return 0;
}

camera_canny