如何从图像中检测和裁剪对象?
Posted
技术标签:
【中文标题】如何从图像中检测和裁剪对象?【英文标题】:How to detect and crop an object from image? 【发布时间】:2015-06-24 22:15:22 【问题描述】:第一个背景信息; 我会有像 这样的图像 图片包括,
要工作的对象(图像上的模型) 居中的静态线(如图所示) 坚固且易于检测的物体(我画了一个红色矩形)问题, 如何通过中心线或实体对象检测和旋转图像? (90°)
如何从物体边缘裁剪旋转图像?
注意: 我对计算机视觉真的很空虚,所以我知道我的问题很愚蠢! 任何语言或平台解决方案都将受到赞赏(首选javascript或python)
谢谢大家!
编辑:旋转信息
【问题讨论】:
总而言之,听起来您正在尝试标准化一组图像,以便它们都具有相同的大小、旋转、边框甚至水平(想想亮度/对比度)。可以开发一个 OpenCV 解决方案来实现这一点。 @MartinEvans 是的。确切地!你描述的比较清楚。那么,我应该从零开始学习openCV,还是应该看更具体的部分? 【参考方案1】:使用图像处理来识别实线(您可能需要应用各种过滤器、检测边缘等)。
当您确定中心线(或标尺 - 哪个都无所谓)时,您必须决定将图像旋转多少以及朝哪个方向(您没有提及任何这些信息)。假设您决定顺时针旋转 13 度。我确信opencv有工具可以做到这一点。
并选择您最精通的语言(您很幸运,opencv supports more than one),因为它会降低您在处理怪物问题时遇到的困难:图像处理。
祝你好运。
更新
你的问题太宽泛了。您在谈论“不止一个概念/任务”。因此,我无法为您提供您需要实现的所有概念的示例代码列表(我在这里故意使用 list 一词)。
但是我问你这个问题:你的目标是什么?编写自定义图像处理工具来处理上述(或类似)图像?还是您只关心以某种方式处理这些图像?对于后一种情况,您可能需要查看 imagemgick。顾名思义,它有很多魔力。 (Imagemagick 是一款免费的图片处理工具,you can find it here)
更新(2)
请查看imageJ。 如果您无法通过普通浏览器打开此链接,请尝试使用 TOR 浏览器!
【讨论】:
我正在研究牙齿模型。所以,我有两个图像,之前和之后。我需要精确级联图像来测量和比较变化。因为,在拍摄图像之间,相机或模型可以移动:(。最终比较看起来像 [this][1][1]:abc.net.au/news/specials/typhoon-haiyan-photos-before-after 嗯.. 那么我不认为 imagemagick 会为你工作。如果相机或模型中的任何一个都可以移动,这会给一堆问题带来另一个障碍:前图像中的模型可能看起来比后图像“更大/更小”。我仍然认为可能有一些现有的工具可以为您执行此类任务(我不确定免费/开源的工具。但我希望会有商业工具)。同样,我的问题仍然存在:这对您来说是否像一个项目,所以您必须自己编写这个工具?还是您只关心找到一个工具并完成工作? 我还没有自己写。我愿意使用现有的解决方案。所以,完成工作是首要目标:)以上是关于如何从图像中检测和裁剪对象?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python - 如何在不超过原始图像大小的情况下调整裁剪图像的大小以满足纵横比