opencv2 矩阵方式 resize图像缩放代码及cvresize函数用法
来源:互联网 发布:淘宝开店收入 编辑:程序博客网 时间:2024/04/28 02:45
首先声明,这篇文章是我在网上 搜到的,编码用到ressize函数,但是搜索结果大多都是cvresize,感觉这个资源来之不易,所以就存了下来。
举个栗子:
double scale=0.5; //设置缩放倍数
string imageurl = "F:/opencv/samples/cpp/baboon.jpg";
Mat image =imread(imageurl);?
//缩放
Size dsize = Size(image.cols*scale,image.rows*scale);
Mat image2 = Mat(dsize,CV_32S);
resize(image, image2,dsize);
首先定义scale变量,图片要缩放的倍数。
然后用Mat函数创建image矩阵,并加载图像。
Size函数是设置图像框架大小
resize函数调整图片大小。
各函数的要点:
CV::Mat
在这里我用的是Mat函数,而网上很多代码是cvMat函数,这个c和c++2个接口,当然c/c++混合使用也没出错,只是为了代码规范,我vc开发c++版本的就尽可能全部用c++接口。
很多人会说IPLImage这个函数都可以加载图片啦,为什么非要用cv::Mat?其实一开始学opencv的时候我也很疑惑,后来查资料看懂了,其一在c语言版本中cvmat和iplImage是一个继承的父子关系,但是最主要的原因就是cv::mat有矩阵功能,学过图像处理的朋友就知道,图片其实就是一些数字矩阵,上面有每个像素点的RGB的值,而IplImage只是简单的读取和加载图片的一些属性功能,比如宽度高度、图像大小等等,唯独没有矩阵功能。
当然用IplImage加载图像后也同样可以做图片缩放,而且函数更加简洁明了。但为什么我不用呢?主要原因是因为我当时写的一个小程序需要计算矩阵,而刚好矩阵这种方式的缩放网上的资料非常少。
如果你还想多了解cvmat和IplImage的功能,可以搜索opencv的doc文档,上面有2个函数反馈的各种值。
CV::Size
Cv::Size结构表示矩形尺寸的结构,结构体中分别定义了矩形的宽度和高度。顾名思义这个是定义一个矩阵的宽度和高度的。而定义之后的宽带和高度直接用在cv::Mat中,用cv::Mat来创建一个固定大小的矩阵。代码中就是image2的矩阵了。
CV::Resize
resize(image, image2,dsize);从代码中很容易看出这个resize的函数的用法了,第一个参数就是输入原始图像,第二个参数就是输出新图像,第三个参数就是图像的大小了
同时也介绍一下cvresize函数的用法
图像大小变换
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 方法..
CV_INTER_CUBIC - 立方差值. 函数 cvResize 将图像 src 改变尺寸得到与 dst 同样大小。若设定ROI,函数将按常规支持 ROI.
- opencv2 矩阵方式 resize图像缩放代码及cvresize函数用法
- opencv2 矩阵方式 resize图像缩放代码
- opencv2 cv::mat resize图像缩放代码
- opencv2 cv::mat resize图像缩放代码
- 图像缩放--OpenCV cvResize函数
- OpenCV的cvResize函数——图像缩放
- opencv 数字图像处理-图像缩放 自己写cvResize()函数
- opencv改变图像大小cvResize和resize
- 图像缩放--OpenCV cvResize函数--最近邻插值---双线性插值--基本原理
- 图像缩放--OpenCV cvResize函数--最近邻插值---双线性插值--基本原理
- 图像缩放--OpenCV cvResize函数--最近邻插值---双线性插值--基本原理
- 图像缩放--OpenCV cvResize函数--最近邻插值---双线性插值--基本原理
- 图像缩放--OpenCV cvResize函数--最近邻插值---双线性插值--基本原理
- 图像缩放--OpenCV cvResize函数--最近邻插值---双线性插值--基本原理
- opencv学习(二十七)之图像缩放函数resize
- 用OpenCV的resize函数实现图像的缩放
- OpenCV--图像的缩放-resize()
- opencv: 图像缩放(cv2.resize)
- spring security1
- VC 多线程异步方式操作串口
- UITextField align left margin
- hive中简单介绍分区表
- 使用poi进行excel比对程序
- opencv2 矩阵方式 resize图像缩放代码及cvresize函数用法
- Dijkstra,Ford,SPF,Floyd,Johnson
- ArrayList容器三种遍历元素方法的性能对比报告
- 关机程序
- ubuntu 12.04 git服务器搭建
- 经典贴子集合
- C++ Singleton (单例) 模式最优实现
- linux启动时对编译进内核驱动模块的加载
- NSNumber、NSValue和NSNull