Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 哪面朝上图像自动旋转算法_Image Processing_Imagemagick - Fatal编程技术网

Image processing 哪面朝上图像自动旋转算法

Image processing 哪面朝上图像自动旋转算法,image-processing,imagemagick,Image Processing,Imagemagick,像谷歌Picasa这样的软件很好地证明了,软件可以找出在没有Exif数据的情况下拍摄照片的方式,因为这不是每个相机都能获得的 是否有记录在案的算法输出图像是否需要旋转? 我想找出不使用EXIF数据的旋转。如果可能的话,我想用ImageMagick来实现这一点。它可能会读取jpg头中存储的数据,如果可以的话。这给出了拍摄照片时相机的方向。这是一种比试图分析照片以确定方向更简单的方法 有。旗子告诉你哪条路是向上的: EXIF Orientation Value Row #0 is: Column

像谷歌Picasa这样的软件很好地证明了,软件可以找出在没有Exif数据的情况下拍摄照片的方式,因为这不是每个相机都能获得的

是否有记录在案的算法输出图像是否需要旋转? 我想找出不使用EXIF数据的旋转。如果可能的话,我想用ImageMagick来实现这一点。

它可能会读取jpg头中存储的数据,如果可以的话。这给出了拍摄照片时相机的方向。这是一种比试图分析照片以确定方向更简单的方法

有。旗子告诉你哪条路是向上的:

EXIF Orientation Value  Row #0 is:  Column #0 is:
1                       Top         Left side
2*                      Top         Right side
3                       Bottom      Right side
4*                      Bottom      Left side
5*                      Left side   Top
6                       Right side  Top
7*                      Right side  Bottom
8                       Left side   Bottom

NOTE: Values with "*" are uncommon since they represent "flipped" orientations.

这将减少必须使用图像识别的照片数量。

我不知道具体的实现方法,但这里有一些想法:

  • 天空是蓝色的。沿边缘寻找蓝色。越蓝=越有可能上升
  • 图像的上部区域往往比下部区域具有更少的细节(天空、云)
  • 进行边缘检测并寻找长的水平线。如果它们不是水平的,则图像可能在其一侧。结合#1和#2,看看你是否偏离180度

  • 请注意,EXIF数据中有一个旋转字段,来自相机的方向传感器。始终先使用这些数据,因为其余的都是图像处理猜测。

    我不知道这个问题的现成解决方案,但这是一个分类问题,可以使用许多经典算法。 B.D.里普利在这方面读得很好

    openCV有一个模块可用于此目的


    解决方案可能会涉及像Yann Ramin答案中的1-3这样的启发式,但量化为0到1之间的数字并放入向量中。您可以将IMAG与关于方向的exif数据一起使用,为分类器创建一个训练集。

    Picasa具有面部识别功能,这可能会有所帮助,即使它实际上没有标记已知的人。

    这是一个复杂的问题,需要进行相应的研究。基本上指的是通常的方法(+1),模式识别的主题也同样适用(+1)-为了进行更深入的分析,您可能需要阅读以下几篇论文(我过去研究中的主观选择):

    [请注意:下面的大部分PDF链接都是从中推断出来的-谷歌自然擅长在其他地方找到与公开的论文摘要相匹配的PDF,其中实际内容往往隐藏在付费墙后面。当然,这一点的合法性会受到热烈的讨论,公众也一样y首先资助了这样的科学研究——做出自己的判断!]

    • 其中一篇较老且被广泛引用的论文可能是(张宏江、阿迪蒂亚·瓦拉亚和阿尼尔·贾因——1999)。
      • 从2002年开始的一个更详细但不太正式的更新目前可以作为。

    • 张洪江的许多后续论文之一是(王永梅和詹洪江-2001)

    • 另一个(虽然没有那么说明问题)是(张磊,李明静,张洪江-2002)

      • 参见例如合著者张磊的文章,了解最终以某种方式涉及到的许多与图像相关的算法挑战;)

    • 因此,上述方法的总结如下(王永梅和张洪江-2003)

    • 一个相当复杂的例子是(罗杰波和马修·布特尔-2004)

    • 关于你的问题标题的最佳匹配实际上是(王磊、刘旭、夏立荣、徐光友、阿尔弗雷德·布鲁克斯坦——2003年);)

    • 最后,您可能想看一看关于a(2008)的相应专利——基本算法在中进行了非常详细的总结;)

    不幸的是,我不知道有任何现成的实现/库,尽管如果没有一些位可用,我会感到惊讶


    玩得开心:)

    无论是夜晚还是白天,无论场景中是否有人,主光源通常都会亮起。将高光检测与边缘检测相结合,您可以识别场景光源的可能位置,并判断亮起的方向

    编辑:好问题-我在Google Scholar上花了5分钟,甚至没有找到正确的问题域

    编辑:明白了。它被称为“图像方向检测”——标题不太模糊

    编辑:快速回顾表明有两种主要方法:

  • 组合分类器-训练大量不同的分类器并将结果进行组合,这是一种经典的“竭尽全力”散弹枪方法。在这里,论文的大部分创新贡献似乎在于如何为不同的分类器设计新的组合方法
  • 特定特征-选择一个特定(或一小部分特定)特征,并使用这些特征进行分类、检测方向。一些示例包括:面部识别+边缘检测、局部二值模式重叠(相对:仅适用于同一主题的两幅图像)
  • 无论如何,这的确是一个有趣的领域,专利似乎比论文多,这使得它更有趣。但是,我没有发现任何解释Picasa方法的东西。然而,我确实发现:

    S.Baluja(来自谷歌)发表了以下论文:

    • ,2007年
    • ,2004年
    • ,2009年

    由此,你可能会得出结论,其中的方法表明了谷歌使用的是什么。

    你见过Picasa没有产生正确结果的任何例子吗?你有没有尝试加载合成图像以查看Picasa如何处理它们?还有,你可以