main.cpp
#include <istream> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main(int argc, char **argv) { Mat src, up_dst, down_dst; // 加载图片 src = imread("../../picture/bg1.webp", 1); if (!src.data) { printf("No image data \n"); return -1; } char src_title[] = "src"; namedWindow(src_title, WINDOW_AUTOSIZE); imshow(src_title, src); // 上采样 char up_title[] = "up"; pyrUp(src, up_dst, Size(src.cols * 2, src.rows * 2)); namedWindow(up_title, WINDOW_AUTOSIZE); imshow(up_title, up_dst); // 降采样 char down_title[] = "down"; pyrDown(src, down_dst, Size(src.cols / 2, src.rows / 2)); namedWindow(down_title, WINDOW_AUTOSIZE); imshow(down_title, down_dst); // 高斯不同DOG Mat gray_src, g1, g2, dst; cvtColor(src, gray_src, COLOR_BGR2GRAY); GaussianBlur(gray_src, g1, Size(5, 5), 0, 0); GaussianBlur(g1, g2, Size(5, 5), 0, 0); subtract(g1, g2, dst, Mat()); // 归一化显示 normalize(dst, dst, 255, 0, NORM_MINMAX); char dog_title[] = "DOG"; namedWindow(dog_title, WINDOW_AUTOSIZE); imshow(dog_title, dst); // 等待按键 waitKey(0); return 0; }