主要包括C++图像的高斯模糊、Canny边缘检测、降采样、读写像素值的实现
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
int main(int argc, char** argv){
Mat img = imread("F:/test/apple.jpg"); // 定义一个Mat(Matrix)容器用于存储图像
if (img.empty()) return -1;
namedWindow("imgRead", WINDOW_AUTOSIZE); // WINDOW_FREERATIO可手动调节窗口大小
//高斯模糊
Mat out;
GaussianBlur(img, out, Size(5, 5), 3, 3);
imshow("GaussianProcess2", out);
//色彩空间转换
Mat gray, hsv;
cvtColor(out, hsv, COLOR_BGR2HSV);
cvtColor(out, gray, COLOR_BGR2GRAY);
imshow("HSV", hsv);
imshow("GRAY", gray);
//高斯平滑处理后的Canny边缘检测
Mat cny;
Canny(gray, cny, 10, 100, 3, true);
imshow("Canny", cny);
//未经高斯平滑的Canny边缘检测
Mat gray2, cny2;
cvtColor(img, gray2, COLOR_BGR2GRAY);
Canny(gray2, cny2, 10, 100, 3, true);
imshow("Canny2", cny2);
//降采样
Mat down1, down2;
pyrDown(img, down1);
imshow("down1", down1);