首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中提取图像的正面形状

如何在C#中提取图像的正面形状
EN

Stack Overflow用户
提问于 2015-04-22 04:09:38
回答 2查看 1.4K关注 0票数 0

有没有可能提取图像前面的任何形状?

假设我们有两个对象的图像1在前面,另一个在后面,背景是空白或透明的。

我们可以提取前面的图像并将其放入新图像中吗?

这可以通过检测额叶形状的边缘然后将其裁剪来实现吗?

这篇文章和我的问题很接近:

Cropping Particular Region In Image Using C#

但我想要完全自动化。

任何帮助都将不胜感激。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-04-22 08:12:51

我认为你不能完全自动化;然而,也许有一些半自动的方法,至少,你需要一些先验信息,比如你的对象可以放置多远。以下是我的一些建议。

First way(你有执行学术论文的经验,你有一些关于对象位置深度的先验信息),

  • 从互联网下载“场景深度图像数据库”
  • 获取数据库的平均值
  • 根据GISt of scene1
  • 查询输入图像的K近邻根据输入场景
  • 应用SIFT流对齐数据库场景
  • 从图像中移除一定范围

可以推断出输入图像的粗略深度图。通过使用此方法,您将尝试推断输入图像的深度图,然后删除包含您的对象的特定深度范围。您可以查看paper2了解更多详细说明。

来自http://www.the.me/wp-content/uploads/2013/09/z-depth_map_expanding_exif_more_powerful_post-processing_2n.jpg的示例深度贴图

Second way(假设:算法末尾允许人工输入),-分割图像(您可以通过少量搜索找到最先进的算法)-选择要删除的轮廓。

来自http://vision.ece.ucsb.edu/segmentation/edgeflow/images/garden_edge.gif的分割图像示例

参考:

1奥德·奥利瓦的场景要点

2Karsch,K.;Liu C.;Kang,S.B.。IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI),2014。

票数 2
EN

Stack Overflow用户

发布于 2015-04-22 13:59:52

OpenCV提供了用于提取对象轮廓的选项。因此,将你的图像转换为灰度,并提供给开放的CV,检测图像中的所有轮廓。并从中选择您的需求所需的轮廓。因为你的项目是在C#上的,所以你可以看看Emgu,它是一个用于OpenCV的跨平台.Net包装器。Pl。请参考下面的url,您可以在这里下载Emgu简历的示例。

http://sourceforge.net/projects/emguexample/?source=recommended

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29782124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档