背景: 在上一篇文章《解决透视变换后图片信息丢失的问题》中说明了在进行图片拼接时,如何解决透视变换造成图像中某些坐标为负值的情况,主要思路是在计算好的变换矩阵H中,加上在X或Y方向上的平移,使变换后的图片像素坐标全部为正。经过这样的处理,虽然解决了上述问题,但同时也引入了另外一个问题。因为透视变换矩阵是将图2变换到图1的途径,该变换是在图1的基础上进行,图1无需做任何变化,在变换后的图中,只需将图1的leftTop(0,0)坐标与变换后的leftTop(0,0)对齐,再把整个图1放置在变换后的图2上即可。现在透视变换矩阵H中加入了平移分量,相当于在原来的基础上对变换后的图像进行了平移,因此,作为参考图像的图1也需要进行相应的平移距离。

问题:此处的图像拼接可以简单理解为img1和img2生成img3,本文主要介绍如何给img3分配合适空间的问题。在opencv中,生成一幅图片使用的函数是:cvCreateImage(CvSize size, int depth, int channels)。《cvCreateImage》这篇博客中有对该函数的详细说明,在本文中,只关注第一个参数size,即所生成的图片大小。

解决方法:img3的大小取决于img1 , img2 以及 img2 经过变换后的transImg2。

int img2TranMaxX=MAX(MAX(rightTop.x,rightBottom.x),MAX(img1->width,img2->width));
        int img2TranMaxY=MAX(MAX(rightBottom.y,leftBottom.y),MAX(img1->height,img2->height));
其中rightTop 、rightBottom为上一篇文章中提到的img2经过透视变换后transImg2的右上角和右下角坐标
        xformed = cvCreateImage(cvSize(MAX(img2TranMaxX,img1->width+transX),MAX(img2TranMaxY,img2->height+transY)),IPL_DEPTH_8U,3); 
transX、transY为上篇文章中提到的,在透视变换矩阵中添加的X和Y方向上的平移量。

放置图片拼接结果的图像大小设置方法相关推荐

  1. html火狐定义字体大小,火狐浏览器字体大小设置方法

    火狐浏览器字体大小设置方法,火狐浏览器字体太小的话,看小说.看八卦.看杂志.看军事新闻.看今日头条都很不方便,对眼睛也不好,怎么让Firefox浏览器字体设置大一些呢?下面小编就为大家分享一下吧. 火 ...

  2. python中plt改变图像尺寸_Matplotlib中图像大小设置

    Matplotlib中图像大小设置 2019-10-15 23:53:30 来源: 晴天小雨 0 摘要:Matplotlib中figsize是设置图形大小的参数,接收一个元祖,内含两个元素,分别代表图 ...

  3. 苹果电脑图标字体大小设置方法

    苹果电脑怎么调字体大小?使用苹果电脑时会发现字体偏小,这个时候就需要手动去设置字体大小.有些用户不知道mac系统在哪里调整字体大小,下面就跟小编一起学习下苹果电脑字体大小设置方法. 设置步骤如下: 1 ...

  4. html打印纸张尺寸设置100*150,打印机纸张大小怎么设置 打印机纸张大小设置方法【详细介绍】...

    打印机纸张大小怎么设置吗?下面就来为大家详细介绍设置打印机纸大小的几种方法. 一.通用 左键单击电脑的开始菜单 左键单击左上角的文件,再单击服务器属性 创建新格式,设置纸张的宽度和高度 左键单击打印机 ...

  5. matlab中保存imagesc呈现的图像内容以及保存图像大小设置

    1.抓取imagesc绘制的图像内容: 示例: imagesc(t2+timestart-wlen/fs/2,f,abs(tfr2)); saveas(gca,strcat('C:\Users\Adm ...

  6. android 字体慢慢变大 网易新闻,网易新闻如何设置字体大小?网易新闻字体大小设置方法一览...

    网易新闻是一款备受小伙伴们青睐的手机新闻软件,自上线以来就吸粉无数!近日,不少玩家在问网易新闻如何设置字体大小?下面我们就来一起看看网易新闻字体大小的设置方法吧!!! 网易新闻如何设置字体大小? 1. ...

  7. java eclipse字体大小设置_eclipse字体大小如何设置-eclipse字体大小设置方法 - 河东软件园...

    Eclipse是一款Java的可扩展开发平台,用户在开发Java项目是都会选择使用Eclipse,而通过Eclipse进行编辑时,经常需要设置字体与大小,但由于许多用户大多下载的是英文版,所以不知道如 ...

  8. 接缝雕刻算法:一种看似不可能的图像大小调整方法

    作者|Samarendra Chandan Bindu Dash 编译|Flin 来源|analyticsvidhya 介绍 在本文中,我们将深入研究一种有趣的算法,称为"接缝雕刻" ...

  9. Jmeter界面字体大小设置方法

    注意:以下的修改操作,均需要在重启JMeter后才可生效,看见效果. 第一步:找到Jmeter所在目录--->bin--->jmeter.properties文件,使用Notepad++打 ...

最新文章

  1. 《Python for Data Analysis》之 Series
  2. 回归模型和时间序列模型中的MAPE指标是什么?MAPE指标解读、MAPE越大越好还是越小越好、使用MAPE指标的注意事项
  3. 关于过滤空格问题(未经测试)
  4. 中望cad2018中文版
  5. c++冒泡排序代码_C/C++基础之冒泡排序
  6. [译]NeHe教程 - 你的第一个多边形
  7. 常微分方程matlab求解
  8. 高内聚,低耦合——8大核心中间件,微服务基础技术栈技术图谱
  9. 《linux c编程指南》学习手记4
  10. Excel导出显示服务器意外,C# 调用Excel 出现服务器出现意外状况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)...
  11. mysql merg引擎学习
  12. 小区重选优先级_NR小区重选理论研究
  13. gemm() 与 gesvd() 到矩阵求逆(inverse)(根据 SVD 分解和矩阵乘法求矩阵的逆)
  14. sql server2014使用BULK INSERT导入UTF-8数据中文乱码问题
  15. vivo X9的usb调试模式在哪里,开启vivo X9usb调试模式的方法
  16. 华为电脑安装双系统linux,华为MateBook笔记本安装Win10与Ubuntu双系统
  17. 重新审视自己,把握真实瞬间 _大前研一
  18. websocket协议与实现原理
  19. 关于微软无线鼠标适配的问题
  20. 投影仪连接wifi无法连接网络认证如何处理

热门文章

  1. 运维之红帽管理员篇-----1. Linux系统简介 、 安装RHEL7系统 、 RHEL7基本操作
  2. 广和通L610+阿里云平台+钉钉机器人
  3. Neo4j连接 (Connect to Neo4j) 报错
  4. 数据库实战20_获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和received,没有分配奖金的员工不显示对应的bonus类型btype和received
  5. 怎样用计算机打出Abc,快捷安装ABC输入法在win7电脑中的方法
  6. sklearn中的决策树(回归)
  7. EAUML日拱一卒-微信小程序实战:位置闹铃 (9)-利用条件渲染实现列表控件
  8. 生成全局唯一ID的3个思路
  9. 大话设计模式读书笔记之单例模式
  10. Ubuntu 网页浏览器 谷歌浏览器 下载使用