#include <iostream>
#include<opencv2/opencv.hpp>
#include "math.h"
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src, dst,dst1;//初始化一个操作对象
src = imread("C:/Users/JAY/Desktop/Others/tang.jpg");
if (!src.data)//判断图片是否加载进来
{
cout << "不能加载图片" << endl;
return -1;
}
namedWindow("加载的图片", WINDOW_AUTOSIZE);
imshow("加载的图片", src);//""内命名一致,才能显示在一个窗口
pyrUp(src, dst, Size(src.cols * 2, src.rows * 2));//上采样
imshow("上采样的图片", dst);
pyrDown(src, dst1, Size(src.cols / 2, src.rows / 2));//降采样
imshow("降采样的图片", dst1);
//高斯分差图像。高斯不同(dog)是图像的内在特征,在灰度图像增强、角点检测中经常用到。
Mat gray_src,g1, g2, dogImg;
cvtColor(src, gray_src, CV_BGR2GRAY);
GaussianBlur(gray_src, g1, Size(3, 3), 0, 0);
GaussianBlur(g1, g2, Size(3, 3), 0, 0);
subtract(g1, g2, dogImg);
//归一化显示
normalize(dogImg, dogImg, 255, 0, NORM_MINMAX);
imshow("高斯分差图像",dogImg);
waitKey(0);
return 0;
}
结果