欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

OpenCV学习十三:pryUp、pryDown 上采样、降采样以及 高斯不同


高斯不同2

OpenCV学习十三:pryUp、pryDown 上采样、降采样以及 高斯不同