resize 与cvResize openCV

cv::resize( InputArray src,

                 OutputArray dst,

                 Size dsize,

                double fx=0,

                double fy=0,

               int interpolation=INTER_LINEAR );

  • Src- Source image.
  • Dst-Destination image.
  • Dsize-目标图像大小. 如果是0, 计算公式:dsize = Size(round(fx*src.cols), round(fy*src.rows)). 或者是,fx和 fy必须是非零的。
  • fx-沿水平轴的比例因子. 当为0时, 计算公式: (double)dsize.width/src.cols
  • fy-沿垂直轴的比例因子. 当为0时, 计算公式: (double)dsize.height/src.rows
  • interpolation –插值方法: INTER NEAREST(近邻差值) or INTER LINEAR(双线性差值)
  • Resizes.支持的图像类型(Mat)CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1 , CV_32FC3 and CV_32FC4

void cvResize( const CvArr* src,

                        CvArr* dst,

                       Int interpolation=CV_INTER_LINEAR );

  • src 输入图像.
  • dst 输出图像.
  • interpolation 差值方法:
  • CV_INTER_NN - 最近邻差值,
  • CV_INTER_LINEAR -  双线性差值 (缺省使用)
  • CV_INTER_AREA -  使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于  CV_INTER_NN

 cvResize 是老版本的函数,图像类型为IplImage。resize是2.0以后出现的函数,图像类型为Mat.

时间: 2024-10-23 11:15:54

resize 与cvResize openCV的相关文章

OpenCV入门 - 调整图片尺寸

OpenCV入门 - 调整图片尺寸(image resize) 通过Mat::size()方法得到关于图像大小的Size实例,通过resize方法调整图像大小.代码如下: #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/nonfree/features2d.hpp> // #include <opencv2/imgproc/imgpr

OpenCV中使用cvResize函数或resize函数进行图象放缩

//cvResize函数原型void cvResize( const CvArr* src, CvArr* dst, int interpolation=CV_INTER_LINEAR ); src:输入图像.(IplImage) dst:输出图像.(IplImage) interpolation:差值方法: CV_INTER_NN - 最近邻差值 CV_INTER_LINEAR - 双线性差值 (缺省使用) CV_INTER_AREA - 使用象素关系重采样.当图像缩小时候,该方法可以避免波纹

Opencv图像识别从零到精通(29)-----图像金字塔,向上上下采样,resize插值

金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似.我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低 一.两个金字塔 高斯金字塔(Gaussianpyramid): 用来向下采样,主要的图像金字塔 拉普拉斯金字塔(Laplacianpyramid): 用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用. 高斯金字塔不同(DoG)又称为拉普拉斯金字塔,给出计算方式前,先加强一下定义 记得在上面我

OpenCv cvResize()

Via  雪后DE阳光 图像大小变换void cvResize( const CvArr* src, CvArr* dst, intinterpolation=CV_INTER_LINEAR );src 输入图像. dst 输出图像. interpolation 差值方法: • CV_INTER_NN - 最近邻差值, • CV_INTER_LINEAR -  双线性差值 (缺省使用) • CV_INTER_AREA -  使用象素关系重采样.当图像缩小时候,该方法可以避免波纹出现.当图像放大时

【短道速滑一】OpenCV中cvResize函数使用双线性插值缩小图像到长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。

今天,一个朋友想使用我的SSE优化Demo里的双线性插值算法,他已经在项目里使用了OpenCV,因此,我就建议他直接使用OpenCV,朋友的程序非常注意效率和实时性(因为是处理视频),因此希望我能测试下我的速度和OpenCV相比到底那一个更有速度优势,恰好前一段时间也有朋友有这方面的需求,因此我就随意编写了一个测试程序,如下所示: IplImage *T = cvLoadImage("F:\\1.JPG"); IplImage *SrcImg = cvCreateImage(cvSiz

Python opencv resize图片并保存原有的图像比例

参考链接:https://www.jianshu.com/p/3092835eab61 现有的图像是高瘦高瘦的,所以直接resize成矩形不合适.改变了整个结构. 所以采用的是先resize再padding的方式. 1.resize图片,先计算最长边的resize的比例,然后按照该比例resize. 2.计算四个边需要padding的像素宽度,然后padding def resize_img_keep_ratio(img_name,target_size): img = cv2.imread(i

对opencv MeanShift 融合矩形框的改进

OPENCV 中的代码改进,当然要根据自己的实际情况来,OPENCV 中行人检测有两种矩形框的融合算法,这里只对meanshift 方法做改进 如果有更好的方法,希望可以跟我讲下. 对于去除重合部分,我也写了改进,看懂了可以加到自己程序中. 为什么要做局部MeanShift? 图1.全局MeanShift 如图所示:两幅图像距离较近且有多个矩形框,全局MeanShift融合后可能会造成这种结果 而如果用局部融合就能避免这种情况. /*-------------------------------

关于opencv中人脸识别主函数的部分注释详解。

近段时间在搞opencv的视频人脸识别,无奈自带的分类器的准确度,实在是不怎么样,但又能怎样呢?自己又研究不清楚各大类检测算法. 正所谓,功能是由函数完成的,于是自己便看cvHaarDetectObjects 这个识别主函数的源代码,尝试了解并进行改造它,以提高精确度. 可惜实力有限啊,里面的结构非常复杂,参杂着更多的函数体,有一些是网上找不到用法的,导致最终无法整体了解,只搞了一般,这里分享 下我自己总结的注释. 1 CvSeq* cvHaarDetectObjects( const CvAr

基于OpenCV读取摄像头进行人脸检测和人脸识别

前段时间使用OpenCV的库函数实现了人脸检测和人脸识别,笔者的实验环境为VS2010+OpenCV2.4.4,opencv的环境配置网上有很多,不再赘述.检测的代码网上很多,记不清楚从哪儿copy的了,识别的代码是从OpenCV官网上找到的:http://docs.opencv.org/trunk/modules/contrib/doc/facerec/facerec_api.html 需要注意的是,opencv的FaceRecogizer目前有三个类实现了它,特征脸和fisherface方法