透视变换

汤圆学Java 2017-04-19 10:43:56
现在有个分析图片的需求:
1、图片中有个身份证,图片是随意拍的,程序进行透视变换,当身份证变成长方形时,停止变换
2、变换成功的话,图片看上去是俯视图,此时就可以根据身份证的长度求出图片中两点间的真实距离
网上看了一些透视变换的代码,但是都是给定需要变换的四个点,然后操作;但是现在拍的图片,不知道点哪四个点,只知道图片是透视过的;
见下图:图1 是原图,图2是变换后的图;变换后的图就可以求出图片中任意两点间的真实距离

...全文
441 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
虾米xxl 2020-03-25
  • 打赏
  • 举报
回复
我想知道如何寻找对应目标图片的四个点
虾米xxl 2020-03-25
  • 打赏
  • 举报
回复
用任意一个矩形作为输出是什么意思,这样不准吧
Forty2 2017-04-19
  • 打赏
  • 举报
回复
引用 楼主 Jalon2015 的回复:
... 网上看了一些透视变换的代码,但是都是给定需要变换的四个点,然后操作;但是现在拍的图片,不知道点哪四个点,只知道图片是透视 ...
4个点是最低要求。你可以用照片中名片的4个角作为输入,用任意一个矩形作为输出,就可以计算出一个3*3的变换矩阵。 找4个角有很多的现成算法,对你的示例图像没有任何困难。 计算变换矩阵,不想自己写的话,或许你可以采用openCV的findHomography。
Forty2 2017-04-19
  • 打赏
  • 举报
回复
原理这里有(8楼): http://bbs.csdn.net/topics/230041611 但要完整实现,需要你有一定的数学基础。
汤圆学Java 2017-04-19
  • 打赏
  • 举报
回复
引用 2 楼 Forty2 的回复:
[quote=引用 楼主 Jalon2015 的回复:] ... 网上看了一些透视变换的代码,但是都是给定需要变换的四个点,然后操作;但是现在拍的图片,不知道点哪四个点,只知道图片是透视 ...
4个点是最低要求。你可以用照片中名片的4个角作为输入,用任意一个矩形作为输出,就可以计算出一个3*3的变换矩阵。 找4个角有很多的现成算法,对你的示例图像没有任何困难。 计算变换矩阵,不想自己写的话,或许你可以采用openCV的findHomography。[/quote] 你好,你的意思是说: 1、根据图1卡片的4个角,输出一个长方形的卡片,根据这两个信息求出一个矩阵; 2、然后在图片上选取4个点,构成一个四边形,再根据上面求出的矩阵,就可以输出一个变换后的图片吗;变换后的图片就属于俯拍图的那种

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧