(一)OpenCV图像处理基础_13_图像上采样和降采样

Iola ·
更新时间:2024-09-21
· 782 次阅读

图像金字塔概念
高斯金子塔:用来对图像进行降采样
上采样(cv::pyrUp) 生成的图像是原图在宽与高各放大两倍
降采样(cv::pyrDown) 生成的图像是原图在宽与高各缩小1/2 高斯不同(Difference of Gaussian-DOG)
把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像就称为高斯不同(DOG)
高斯不同是图像的内在特征,在灰度图像增强、角点检测中经常用到。 拉普拉斯金字塔
根据它的上层降采样图片,重建一张图片 #include #include using namespace std; using namespace cv; int main(int argc, char** argv) { Mat src; src = imread("../path.jpg"); if (src.empty()) { cout << "could not load image1..." << endl; return -1; } namedWindow("src", WINDOW_AUTOSIZE); imshow("src", src); Mat dst; //上采样//生成的图像是原图在宽与高各放大两倍 //pyrUp(src, dst, Size(src.cols * 2, src.rows * 2)); //降采样//生成的图像是原图在宽与高各缩小1/2 //pyrDown(src, dst, Size(src.cols / 2, src.rows / 2)); //高斯不同 Mat gray_src, g1, g2; cvtColor(src, gray_src, COLOR_BGR2GRAY);//转为灰度图 GaussianBlur(gray_src, g1, Size(5, 5), 0, 0); GaussianBlur(g1, g2, Size(5, 5), 0, 0); subtract(g1, g2, dst, Mat());//把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像就称为高斯不同(DOG) // 矩阵元素映射到特定区间范围内 normalize(dst, dst, 255, 0, NORM_MINMAX);//将矩阵的值进行重新缩放核转换,使其线性映射到[0,255]区间内 namedWindow("dst", WINDOW_AUTOSIZE); imshow("dst", dst); waitKey(0); return 0; }

输出结果:
在这里插入图片描述


作者:丶小早



采样 上采样 opencv

需要 登录 后方可回复, 如果你还没有账号请 注册新账号