Image processing 图像边缘检测

Image processing 图像边缘检测,image-processing,computer-vision,Image Processing,Computer Vision,我需要使用边缘检测技术计算仓库中的箱子;图像将取自仓库的三维模型,建议系统将使用3个不同角度的3幅图像覆盖整个仓库区域 因为我以前没有图像处理方面的经验,所以我对使用哪种算法有点困惑。为了快速入门,我建议看一下这两种算法: 这些是使用最广泛的边缘检测滤波器,效果非常好 如果你开始学习计算机视觉,你还应该学习和 是一个很好的库,它实现了许多计算机视觉算法,包括上面提到的两个操作符。请查看。它有一些边缘检测算法的完整C#实现。看看这个问题。你可以在那里找到几个有用的链接。建议的库不仅有算法描

我需要使用边缘检测技术计算仓库中的箱子;图像将取自仓库的三维模型,建议系统将使用3个不同角度的3幅图像覆盖整个仓库区域


因为我以前没有图像处理方面的经验,所以我对使用哪种算法有点困惑。

为了快速入门,我建议看一下这两种算法:

这些是使用最广泛的边缘检测滤波器,效果非常好

如果你开始学习计算机视觉,你还应该学习和

是一个很好的库,它实现了许多计算机视觉算法,包括上面提到的两个操作符。

请查看。它有一些边缘检测算法的完整C#实现。

看看这个问题。你可以在那里找到几个有用的链接。建议的库不仅有算法描述,还有它们的实现。

看看我的两个库,一个基于卷积,另一个只是简单的数学。哦,你一定喜欢像素着色器才能读到这篇文章:)


OpenCV有一个非常好的算法,可以检测图像中的闭合轮廓,并将其作为点列表返回。然后,您可以丢弃所有没有4个点的轮廓,然后检查剩余轮廓的一些约束(矩形的纵横比等),以找到剩余的长方体边。这至少可以解决你的问题的图像处理部分,尽管将这个轮廓列表转化为你仓库中的盒子数量是很困难的

在此处检查OpenCV函数:


在边缘检测方面,“Sujoy过滤器”优于Sobel过滤器。下面是Julia的实现(带有纸质链接):

试试看,这是一个非常复杂的问题要解决!我怀疑你会得到一个全面的答案,所以,你最好的选择可能是在谷歌搜索一些研究论文。很抱歉这么直截了当:这听起来像是“我没有驾驶经验,你能告诉我如何驾驶747从伦敦到东京吗?”。读几本关于图像处理和计算机视觉的书,实现算法,并进行实验。在你这么做之前,我不认为你能解决这样的问题。非常感谢你的评论,我选择了canny作为我的顾问,如果我使用OpenCV或Mathlab,我的讲师不会很高兴,你有什么建议来了解C#中canny实现的细节或教程吗?有一篇很好的关于C#中canny实现的CodeProject文章:谢谢你的评论,但我使用C#作为我的编程语言,这当然取决于你。但这一级别的图像处理是相当消耗资源的工作,性能很重要。因此,将其委托给托管运行时是不明智的。OpenCV有一些低级优化,它们甚至明确建议使用英特尔处理器。但是如果你坚持使用C#,你可以很容易地在非托管DLL上创建托管包装。请给出反馈。