OpenCV学习十三:pryUp、pryDown 上采样、降采样以及 高斯不同
程序员文章站
2022-05-22 13:07:08
...
pryUp:上采样,图像放大一倍;
pryDown:降采样,图像缩小一倍。
降采样原理:
1. 将原图像进行高斯模糊
2. 删除偶数行/列的图像。
高斯不同是图像的内在特征,在绘图图像增强、角点检测中经常用到。高斯不同:
1. 得到一次高斯模糊图像;
2. 得到二次高斯模糊图像;
3. 用一次高斯模糊图像减去二高斯模糊图像。
#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;
char file[] = "1.jpg";
int main(int argc, char** argv)
{
Mat img = imread(file, -1);
pyrDown(img, img, Size(img.cols/2, img.rows/2));
//高斯不同
Mat gray, g1,g2,dogImg;
int N = 9;
cvtColor(img, gray, CV_BGR2GRAY);//转灰度图像
GaussianBlur(gray, g1, Size(N,N),0);//第一次高斯模糊
GaussianBlur(g1, g2, Size(N, N), 0);//第二次高斯模糊
subtract(g1, g2, dogImg);//两次模糊图像做差值
normalize(dogImg, dogImg, 255, 0, NORM_MINMAX);//为了使结果突出,做标准化处理
imshow("原始",dogImg);imwrite("高斯不同1.jpg", dogImg);
//测试一下反转函数
bitwise_not(dogImg, dogImg);
imshow("反转",dogImg);imwrite("高斯不同2.jpg", dogImg);
waitKey();
return 1;
}
高斯不同1
高斯不同2