是否可以提取图像前面的任何形状?如何在C中的图像中提取正面形状#
假设我们有一个在前面的两个物体1的图像,另一个在后面,空白或透明的背景。
我们可以提取一个在前面,并将其放置在一个新的形象?
这可以通过检测正面形状的边缘然后裁剪来完成吗?
本文附近做一些我的问题:
Cropping Particular Region In Image Using C#
,但我想这样做完全自动化。
任何帮助将不胜感激。
在此先感谢。
是否可以提取图像前面的任何形状?如何在C中的图像中提取正面形状#
假设我们有一个在前面的两个物体1的图像,另一个在后面,空白或透明的背景。
我们可以提取一个在前面,并将其放置在一个新的形象?
这可以通过检测正面形状的边缘然后裁剪来完成吗?
本文附近做一些我的问题:
Cropping Particular Region In Image Using C#
,但我想这样做完全自动化。
任何帮助将不胜感激。
在此先感谢。
我认为你不能做到这一点完全自动化;然而,也许有一些半自动化的方式,至少,你需要一些先前的信息,比如你的物体可以放置多远。以下是我的一些建议。
第一种方式(你必须在实施学术论文的经验,您对对象的地方深度的一些现有信息),
可以推断输入图像的粗糙深度图。通过使用它,您将尝试推断输入图像的深度图,然后移除包含您的对象的特定深度范围。您可以查看文件[2]以获取更详细的说明。
方式二(假设:人的输入是在算法的最后允许的。), - 段的影像(你可以找到最先进的算法,带一点搜索) - 选择要删除的轮廓。从http://vision.ece.ucsb.edu/segmentation/edgeflow/images/garden_edge.gif
参考
实施例分割的图像:
[1]奥德奥利瓦 主旨场景
[2]蝎,K的.;刘,C。 Kang,S.B. IEEE Transactions on Pattern Analysis and Machine Intelligence(TPAMI),2014.
我真的很感激你的帮助,但是,我有点初学者,所以你建议需要很长时间才能理解和试用.. –
OpenCV提供了提取对象轮廓的选项。因此,将图像转换为灰度并提供给公开的简历,检测图像中的所有轮廓。并根据您的要求选择所需的轮廓。 由于您的项目在C#上,您可以看看Emgu CV,它是OpenCV的跨平台.Net包装器。 PL。请参阅下面的URL,您可以下载Emgu CV的示例。
http://sourceforge.net/projects/emguexample/?source=recommended
C#和* AForge *是在标签中指定的,所以* OpenCV *几乎不是一个选项。不过,您可能会指出* EmguCV *作为* AForge *的C#替代品。 –
感谢您指出,我编辑了回复。 – shri
看起来像一个很好的开始,我会尝试并返回结果。谢谢。 –
在你问的一般方式,答案是:不,你不能自动分辨两个任意对象分开。如果您向我们展示几个典型示例,我们可能会想到提示如何解决该类图像的问题,但一般解决方案只能是半自动的过程。 – TaW