倾斜或者倒立的照片,实现自动扶正

sdzmms2008 2011-09-28 06:45:10
新手上路学习图像处理,老板最近布置了新练手题目:
比如一张照片拍摄好,放到电脑上面可能由于拍摄角度和手势的问题使得照片倾斜90度(平卧)或者180度(颠倒),让我编个c++的程序实现图像的自动扶正!就是使得人物是站立的或者树,房屋之类的都是正的
提示了一些判别倾斜的信息(说可以采用图像方面的统计特征):
1.人始终是站立的(长>宽 判别是否倾斜)
2.景观分布特征(考虑一般情况,正常正立图片上面是天空,下面是物体,所以上面物体少下面物体多)
3.颜色特征(天空是蓝的,正立图片应该蓝在上方,地面是灰的,树木上方是绿的)
。。。。。

就说了这么多,刚涉足图像这块,真不知如何下手,不知哪位兄弟有这方面的经验或者有想法的,请赐教,谢谢
...全文
465 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gameslq 2011-09-29
  • 打赏
  • 举报
回复
老板的话不要全信,他拍脑袋想出来的点子,说怎么怎么可以,不要说了你马上干,这样你干的会很累,哥们
从技术实现上现在貌似还没有很成熟的技术吧 所以领导随口说的,你要先进行可行性分析(包括技术、开发周期等),然后再和领导沟通下,做不做让他决定,你说的情况需要图像识别。
不知道以下思路是否合适:类似于acdsee,先把每个图片先在窗口里展示,上面有旋转按钮,有 向右选择90度 向左旋转90度,根据用户的点击来决定旋转方向,这个技术好实现,就是绘图时稍微变换下。
百事烟 2011-09-29
  • 打赏
  • 举报
回复
这个很难啊.......
sdzmms2008 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ndy_w 的回复:]
1. 需要分割出“人”的区域。这个比较难。
2. 可以用边缘检测(sobel之类),物体多的地方边缘多,统计可分出上下。
3. 可以统计蓝色分量的中心矩,就是蓝色x中心点的距离。
这个题目已经不是图像处理而更像识别。识别一般要根据样本的共同特征来搞。
[/Quote]
谢谢这位兄弟,这个你说的第二点sobel检测我感觉对我很有用哈,呵呵,这样边缘多的地方就可以判断是图像的下方,其他2点我没接触过;老师的意思就是让我找出一般规律统计对比,好像就是识别方面的东西了
wyx100 2011-09-29
  • 打赏
  • 举报
回复
1. 需要分割出“人”的区域。这个比较难。
2. 可以用边缘检测(sobel之类),物体多的地方边缘多,统计可分出上下。
3. 可以统计蓝色分量的中心矩,就是蓝色x中心点的距离。
这个题目已经不是图像处理而更像识别。识别一般要根据样本的共同特征来搞。

sdzmms2008 2011-09-29
  • 打赏
  • 举报
回复
老板就是看见这个,然后感兴趣,说让我别考虑的太复杂,就考虑一些常规的图片(有天,有地,有人,有树木),然后运用什么图像统计学,还有投影之内的试试
我感觉就是统计一个物体的一般规律,比如人始终站在(靠长宽比例判断是否水平倾斜),然后天空始终在上方(蓝色区域来判断是否垂直颠倒),但具体实现我还是不知道怎么办,不知道哪位有这方面经验
先谢过以上各位
morebread 2011-09-29
  • 打赏
  • 举报
回复
这个……很难

要实现这个功能,最主要的还是图像识别。相对而言,最后把图片扶正已经是没多少技术含量的事情了。

你老师是不是也不懂啊,以为这个很简单。让新手搞这个不是要命啊
ndy_w 2011-09-29
  • 打赏
  • 举报
回复
1. 需要分割出“人”的区域。这个比较难。
2. 可以用边缘检测(sobel之类),物体多的地方边缘多,统计可分出上下。
3. 可以统计蓝色分量的中心矩,就是蓝色x中心点的距离。
这个题目已经不是图像处理而更像识别。识别一般要根据样本的共同特征来搞。
jkj9999 2011-09-29
  • 打赏
  • 举报
回复
不懂,帮顶
ex_impression 2011-09-29
  • 打赏
  • 举报
回复
这个有难度。
ajn_sailing 2011-09-28
  • 打赏
  • 举报
回复
找区域,再根据预先设定的特征判别

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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