Emgucv实现高拍仪功能(一)——仿射变换与透射变换

忙了N久长时间没有更新博客了,追问的人很多,你们赢了,上来分享下最近做的图像相关。

目标是要求我做一个全能扫描王一样的应用,前前后后需求改了好几版,分开来每种方案都能实现,合并起来想全能谈何容易。

其实最终目标就是找到图片中的纸张并还原成标准矩形么,前前后后做了三个版本,把经历的坑分享一下,具体代码就保密了,毕竟做的是产品,要为对方老板负责。

方案一: 自适应二值,查找最大轮廓,霍夫直线检测四边,求出四边顶点,仿射变换

坑:复杂环境下很容易接收乱七八糟的线段从而将四边拟合出错

方案二:canny求出轮廓,查找最大轮廓,逼近轮廓成近似矩形,仿射变换

坑:canny求到的图黑白按照原图色彩来的,要多判断一次是否要取反

方案三:差影法求出目标位置,逼近成近似矩形,仿射变换

坑:这个没什么坑,就是看运气,原始背景图质量好点就没什么问题的

综上,最后一个大坑是仿射和透射的区别,

原理不说了,一句话,透射是四个点的对应关系,ABCD对应abcd。

仿射在opencv或emgucv里是三个点的,ABCD对应abcd的话,不看C的,无论你的点集合多长

只看第一二点和最后一点,只看第一二点和最后一点,只看第一二点和最后一点

还有一个小贴士:宽和

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值