网站建设公司知识,手机端网站建站流程,代理项目推荐,做网站公司大型主要讲解
1、resize()函数调用
函数定义#xff1a; 调用方式#xff1a;
resize(srcImage, dstImage, Size(64, 128)); //对图片进行修改
resize(srcImage, dstImage, Size(), 0.5, 0.5);第6个参数的含义#xff1a;
INTER_NEAREST:最邻近插值 (放大好用)
INTER_ARE…主要讲解
1、resize()函数调用
函数定义 调用方式
resize(srcImage, dstImage, Size(64, 128)); //对图片进行修改
resize(srcImage, dstImage, Size(), 0.5, 0.5);第6个参数的含义
INTER_NEAREST:最邻近插值 (放大好用)
INTER_AREA:区域插值(利用像素区域关系的重采样插值) 缩小好用
INTER_CUBIC:三次样条插值(超过4x4像素邻域内的双三次插值)
INTER_LANCZOS4:Lanczos插值(超过8x8像素邻域的Lanczos插值)效果展示
将图像用4种方法先缩小6倍再放大6倍得到的效果
代码展示
#include opencv2/opencv.hpp
#include iostream
#include windows.h
#include stdio.h
#include My_ImageProssing_base.husing namespace cv;
using namespace std;
/************修改图片大小示例**********************/
int main()
{Mat srcImage imread(D:\\opencv_picture_test\\趣图景图\\test12.jpg);//打开原图Mat dstImage1, dstImage2, dstImage3, dstImage4; //目标图Mat tmpImage srcImage.clone(); //深复制imshow(未矫正过的图像, srcImage);//显示未矫正的原图//由于指定缩放的比例Size()直接给后面就分别是x、y方向的缩放比例resize(tmpImage, dstImage1, Size(), 0.5, 0.5, INTER_NEAREST);resize(tmpImage, dstImage2, Size(), 0.5, 0.5, INTER_AREA);resize(tmpImage, dstImage3, Size(), 0.5, 0.5, INTER_CUBIC);resize(tmpImage, dstImage4, Size(), 0.5, 0.5, INTER_LANCZOS4);for (int i 0;i 5;i){resize(dstImage1,dstImage1, Size(), 0.5, 0.5, INTER_NEAREST);resize(dstImage2, dstImage2, Size(), 0.5, 0.5, INTER_AREA);resize(dstImage3, dstImage3, Size(), 0.5, 0.5, INTER_CUBIC);resize(dstImage4, dstImage4, Size(), 0.5, 0.5, INTER_LANCZOS4);}for (int i 0;i 5;i){resize(dstImage1, dstImage1, Size(), 2, 2, INTER_NEAREST);resize(dstImage2, dstImage2, Size(), 2, 2, INTER_AREA);resize(dstImage3, dstImage3, Size(), 2, 2, INTER_CUBIC);resize(dstImage4, dstImage4, Size(), 2, 2, INTER_LANCZOS4);}resize(dstImage1, dstImage1, Size(), 2, 2, INTER_NEAREST);resize(dstImage2, dstImage2, Size(), 2, 2, INTER_AREA);resize(dstImage3, dstImage3, Size(), 2, 2, INTER_CUBIC);resize(dstImage4, dstImage4, Size(), 2, 2, INTER_LANCZOS4);//resize(srcImage, dstImage, Size(64, 128)); //对图片进行修改//resize(input,output,dSize( , ),fx,fy,插值方式);//INTER_NEAREST:最邻近插值 (放大好用)//INTER_AREA:区域插值(利用像素区域关系的重采样插值) 缩小好用//INTER_CUBIC:三次样条插值(超过4x4像素邻域内的双三次插值)//INTER_LANCZOS4:Lanczos插值(超过8x8像素邻域的Lanczos插值)imshow(最邻近插值, dstImage1);imshow(区域插值, dstImage2);imshow(三次样条插值, dstImage3);imshow(Lanczos插值, dstImage4);waitKey(0);return 0;
}
2、pyrUp()、pyrDown()函数调用
pyrUp()放大
函数定义 第4个参数不用管它。 调用方式
pyrUp(srcImage,dstImage, Size(srcImage.cols * 2, srcImage.rows * 2));pyrDown()缩小
函数定义 第4个参数不用管它。 调用方式
pyrDown(srcImage,dstImage, Size(srcImage.cols / 2, srcImage.rows / 2));原理讲解
1、高斯金字塔 在缩放的过程中难免会造成信息的丢失为了弥补信息的丢失产生了拉普拉斯金字塔 2、拉普拉斯金字塔 GGauss LLaplace 运算过程图解 离散化的5*5高斯内核