【Emgu CV教程】5.2、几何变换之缩放

本文详细介绍了在EmguCV库中如何使用Resize()函数进行图像缩放,包括指定输出尺寸和按比例缩放两种方式,并提供了示例代码。
摘要由CSDN通过智能技术生成

Emgu CV里面,图像缩放就要用到Resize()函数,官方定义如下: 

public static void Resize(
    IInputArray src, // 输入图像
    IOutputArray dst, // 输出图像
    Size dsize, // 输出图像的尺寸,当他为空的时候,fx和fy起作用
    double fx = 0.0, // 水平轴上的比例因子
    double fy = 0.0, // 垂直轴上的比例因子
    Inter interpolation = Inter.Linear // 插值方法,有5种,一般选Inter.Linear
)

看它的函数定义就知道, Resize()函数有两种用法,一种是指定输出图像的Size大小,一种是按照原始图像长宽比例进行缩放,下面以挨个举例,原始素材还是 lena.jpg ,其宽度和高度都是512。

1、指定输出图像的Size大小

如果想让 lena.jpg  的长宽变成960 * 640,可以这样写代码:

Mat dstMat = srcMat.Clone();
int width = 960;
int heiht = 640;
CvInvoke.Resize(dstMat, dstMat, new System.Drawing.Size(width, heiht));
CvInvoke.Imshow("Result Mat, " + dstMat.Size.ToString(), dstMat);

输出的目标图像如下,尺寸已经变成960 * 640: 

2、按比例缩放

如果想让 lena.jpg  的宽度变成原来的0.75倍,高度变成原来的1.05倍,可以这样写代码:

Mat dstMat = srcMat.Clone();
double width = 0.75;
double heiht = 1.05;
CvInvoke.Resize(dstMat, dstMat, new System.Drawing.Size(), width, heiht);
CvInvoke.Imshow("Result Mat, " + dstMat.Size.ToString(), dstMat);

结果是这样的,整幅图像宽度、高度也做了相应的调整。 

原创不易,请勿抄袭。共同进步,相互学习。  

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值