图像处理:对象的旋转对齐

我有一堆图像和一个靠近中心的酒吧。 随着堆叠的进行,杆件绕一端枢转,整个堆叠件包含图片,杆件以高于或低于水平45度的多个不同角度旋转。

如下所示:

在这里输入图像描述

我正在寻找一种方法来旋转条和/或整个图像,并在进行其他处理之前水平对齐所有内容。 理想情况下,这将在Matlab / imageJ / ImageMagick中完成。 我目前正在尝试使用第一个Canny边缘检测,然后是Hough变换,然后是图像旋转,但我希望这是一个已经解决的更一般问题的特定情况。


如果你有图像处理工具箱,你可以使用regionprops和'Orientation'属性来找到角度。

http://www.mathworks.com/help/images/ref/regionprops.html#bqkf8ji


您正在解决的问题称为图像配准或图像对齐。

- 你需要做的第一件事是对图像进行阈值限制,所以你最终得到黑白图像。 这将简化过程。

- 然后您需要计算imgaes的质量中心,然后将它们翻译为匹配其他中心。

  • 然后你需要旋转图像来进行其他的matcheach。 这可以使用主轴度量来完成。 主轴将给你解释人口中大部分变化的两个轴。 这基本上会给你一个向量,显示你的酒吧指向哪个方向。 然后,所有你需要的是在相同的方向旋转酒吧。
  • - 在主轴转换之后,您可以尝试在每个方向上多旋转一点图片以尝试优化旋转。

    通过您的翻译和轮播,您需要一个衡量标准来展示您的变形适合的程度。 这个措施可以是很多事情。 如果图片是黑白的,则简单减去图片就足够了。 否则,你可以使用互信息等措施。

    ...你也可以看看procrustes分析看到这个链接的MATLAB功能http://www.google.dk/search?q=gpa+image+analysis&oq=gpa+image+analysis&sugexp=chrome,mod=9&sourceid=chrome&ie = UTF-8#HL = DA&TBO = d&sclient = PSY-AB&q = MATLAB +普鲁克+分析和OQ = MATLAB + proanalysis&gs_l = serp.3.1.0i7i30l4.5399.5883.2.9481.3.3.0.0.0.0.105.253.2j1.3.0 ... 0.0 ... 1c.1.5UpjL3-8aC0&PBX = 1&BAV = on.2,or.r_gc.r_pw.r_qf。&BVM = bv.1355534169,d.Yms&FP = afcd637d8ae07bde&BPCL = 40096503&BIW = 1600&波黑= 767


    你可能想看看SIFT变换。

    您应该将代表最差情况猜测的矩形作为图像,并为其确定旋转矩阵。

    见http://www.vlfeat.org/overview/sift.html

    链接地址: http://www.djcxy.com/p/11511.html

    上一篇: Image processing: Rotational alignment of an object

    下一篇: How to save collection of models in backbone.js?