2020.11.03 使用OpenCV进行图像上采样、降采样以及高斯不同操作【OpenCV C++】
图像上采样,降采样以及高斯不同操作
源代码:
// testOpencv12.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
const char* inWin = "input window";
const char* outWin = "output window";
int main()
{
//std::cout << "Hello World!\n";
Mat src, dst;
src = imread("E:/imageSources/7.jpg");
if (!src.data) {
printf("cannot load image");
return -1;
}
namedWindow(inWin,WINDOW_AUTOSIZE);
imshow(inWin,src);
//上采样
pyrUp(src, dst, Size(src.cols*2,src.rows*2));
namedWindow(outWin, WINDOW_AUTOSIZE);
imshow(outWin, dst);
//降采样
Mat tempDown;
pyrDown(src,tempDown,Size(src.cols / 2, src.rows /2));
imshow("pyrdown image",tempDown);
//高斯不同
//Mat grayImage, g1, g2,DOGImage;
//转换为灰度图像
//cvtColor(src,grayImage,COLOR_BGR2GRAY);
//高斯模糊1
//GaussianBlur(grayImage,g1,Size(5,5),0,0);
//imshow("g1 image", g1);
//高斯模糊2
//GaussianBlur(g1,g2,Size(5,5),0,0);
//imshow("g2 image", g2);
//subtract(g1,g2,DOGImage,Mat());
//进行归一化操作显示
//normalize(DOGImage,DOGImage,255,0,NORM_MINMAX);
//imshow("DOG image",DOGImage);
waitKey(0);
return 0;
}