#include <opencv2/opencv.hpp>
int main()
{
cv::Mat img = cv::imread("C:/Users/22941/Pictures/Saved Pictures/1.jpg", 1);//三通道
cv::namedWindow("in", cv::WINDOW_AUTOSIZE);
cv::namedWindow("out", cv::WINDOW_AUTOSIZE);
cv::imshow("in", img);
cv::Mat out1, out2,cann;
// cv::GaussianBlur(img, out, cv::Size(5, 5), 3, 3);
// cv::GaussianBlur(out, out, cv::Size(5, 5), 3, 3);//高斯
cv::cvtColor(img, out1, cv::COLOR_BGR2GRAY);//将图像转换为单通道图像
cv::imshow("out", out1);
cv::pyrDown(out1, out2);//高通滤波限制信号带宽,使其能在采样频率内
cv::imshow("out1", out2);
cv::Canny(out2, cann, 10, 100, 3, true);//边缘检测
cv::imshow("out2", cann);
cv::waitKey(0);
return 0;
}
运行结果: