OpenCV下实现单窗口显示多幅图像(C++源码)

有时我们要在一个窗口中显示多幅图像,以利于我们对比结果。

为了实现这个效果中,在OpenCV中,我们可以在一幅白色背景大图上把各幅图像绘制上去,这其中关键是要计算出各幅图绘制在大图中的哪个区域,并对图像按显示区大小进行相应的缩放处理。

下面的代码可实现在同一窗口中不超过12幅图像的显示,图像比例没有要求。

代码会将每幅图像的宽或高限制在300、200、150三个像素值上,并且保持原图比例,宽和高哪个数值更大,就将哪个的像素值设为300、200、150。
当图像数量为1至4幅时,宽和高限制在300像素;
当图像数量为5至8幅时,宽和高限制在200像素;
当图像数量为9至12幅时,宽和高限制在150像素;

举个例子来说,当图像的宽和高被限制在300像素时,若一幅图像的宽为300像素,高为600像素,则显示到单窗口图像中时,该幅图像会被缩放到宽为100,高为300的图像。

代码及代码中用到的图像请访问下面的页面获取:

https://www.hhai.cc/thread-109-1-1.html

运行结果如下:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值