本文共 1612 字,大约阅读时间需要 5 分钟。
pyrUp(Mat src, Mat dst, Size(src.cols2, src.rows2))
生成的图像是原图在宽与高各放大两倍 pyrDown(Mat src, Mat dst, Size(src.cols/2, src.rows/2)) 生成的图像是原图在宽与高各缩小1/2#include#include using namespace cv;int main(int agrc, char** argv) { Mat src, dst; src = imread("G:/OpenCV/opencv笔记所用图片/cat.jpg"); if (!src.data) { printf("could not load image..."); return -1; } char INPUT_WIN[] = "input image"; char OUTPUT_WIN[] = "sample up"; namedWindow(INPUT_WIN, CV_WINDOW_AUTOSIZE); namedWindow(OUTPUT_WIN, CV_WINDOW_AUTOSIZE); imshow(INPUT_WIN, src); // 上采样 pyrUp(src, dst, Size(src.cols * 2, src.rows * 2)); imshow(OUTPUT_WIN, dst); // 降采样 Mat s_down; pyrDown(src, s_down, Size(src.cols / 2, src.rows / 2)); imshow("sample down", s_down); // DOG Mat gray_src, g1, g2, dogImg; cvtColor(src, gray_src, CV_BGR2GRAY); GaussianBlur(gray_src, g1, Size(5, 5), 0, 0); GaussianBlur(g1, g2, Size(5, 5), 0, 0); subtract(g1, g2, dogImg, Mat()); // 归一化显示(归一化后就不会太暗,差异看的就明显了) normalize(dogImg, dogImg, 255, 0, NORM_MINMAX); imshow("DOG Image", dogImg); waitKey(0); return 0;}
转载地址:http://zkozi.baihongyu.com/