常用的图像处理步骤: 图像二值化—> 高斯模糊(滤噪)—>Canny边缘检测—>Dilate/Erode(放大/缩小)
其中放大及缩小是对图像检测的边缘进行操作,如对图像的边缘线进行加粗便为放大。
具体见代码:
#include <iostream>
#include <opencv2/highgui.hpp> // 说是说gui 具体什么gui 不清楚
#include <opencv2/imgcodecs.hpp> // 图像头文件
#include <opencv2/imgproc.hpp> // 图像处理头文件
using namespace std;
using namespace cv;
/// Basic Function //
int main()
{
string path = "resources/test.png"; // 导入图形的时候,先要在右边点击显示所有文件!!!
Mat img = imread(path); // 在opencv 中所有的图像信息都使用Mat
Mat imgGRAY,imgBlur,imgCanny,imgDil,imgErode;
// 想要转换并且处理图像应该使用 cvtColor 函数 系列操作将图像转换为灰度图
cvtColor(img, imgGRAY, COLOR_BGR2GRAY); // OPencv 中含有BGR 协议而不是RGB协议、
// 高斯滤噪 模糊
GaussianBlur(imgGRAY, imgBlur, Size(3,3),3,0); // 该Size 图像具体哪里来的,不是很清楚
// Canny 边缘检测, 在进行Canny边缘检测之前我们一般会进行高斯滤波
Canny(imgBlur, imgCanny, 25, 75); // 后面两个参数即Canny 边缘检测的阈值
/