C++怎么判断扫描出来图片是否倾斜

C++语言 码拜 10年前 (2015-05-11) 1434次浏览 0个评论

通过扫描出来的图片怎么判断扫描出来的纸张是否倾斜?目前可以取得各个点的颜色和灰度,但是有什么算法可以计算出实际纸张的边际不?
个人觉得应该有两个算法:1-区分是否为纸张的范围..2-计算纸张边界的线性(才能计算倾斜度),有没有达人可以指点一哈?

10分
设想我在一张空白A4纸上故意倾斜5°打印一个图片,我就不信你的智能程序能判断出应该按照A4纸的边而不应按照图片内容判断倾斜度!
10分
这个。。。你研究下opencv。
20分
opencv 可以检测最小包围盒,查看倾斜角度:

http://blog.csdn.net/wangyaninglm/article/details/43959947

http://blog.csdn.net/wangyaninglm/article/details/43959947
@zhao4zhong1..我觉得呢。。。这个比如还是不太恰当哈..随便打印一个图片可能没有边际的嘛。。当时如果这个图片只是一个矩形那应该可能很容易判断吧(p编辑的颜色),而卧这个问题我觉得还是更接近边界比较明确(背景和打印内容很容易区分,不然应该没有办法的)
理论上还是可以实现的吧。。比如ps..可以先用颜色相近选择背景…然后利用颜色相近度判断背景区域..取反可以得到实际打印区域,
@wangyaninglm这个应该是这个意思哈..我先看看..先谢谢哈..有问题再问了。。
引用 5 楼 thtianhui123 的回复:

@zhao4zhong1..我觉得呢。。。这个比如还是不太恰当哈..随便打印一个图片可能没有边际的嘛。。当时如果这个图片只是一个矩形那应该可能很容易判断吧(p编辑的颜色),而卧这个问题我觉得还是更接近边界比较明确(背景和打印内容很容易区分,不然应该没有办法的)
理论上还是可以实现的吧。。比如ps..可以先用颜色相近选择背景…然后利用颜色相近度判断背景区域..取反可以得到实际打印区域,

关键问题是,我认为相对纸边缘来说,斜的才是正的。
C++怎么判断扫描出来图片是否倾斜

额…我最后直接用RGP颜色相似度+边界点相似颜色的比例整出来个大概…还可以将就
谢谢各位的回复…

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++怎么判断扫描出来图片是否倾斜
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!