我试图在这张图片中找到不同形状的岩石。
image http://mars.nasa.gov/mer/gallery/all/2/n/1850/2N290598950EDNB0F8F0006L0M1.JPG
我没有从边缘检测中获得任何令人满意的结果。
我确实读到了关于抓取的但是再也没有令人满意的。关于我应该如何进行的任何想法?
PS - 我的最终目标是用不同的颜色在图像中标记这些岩石。
更新1: 这是我用于边缘检测的代码。
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
{
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
else
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
}
更新2:我有几个类似的图像,如下图所示,其中岩石(大尺寸)清晰可见。边缘检测再次在图像上产生不令人满意的结果。我只是在寻找可以尝试的方法。如果您建议一种方法,那么请添加相关链接,我可以阅读更多内容,我是opencv的新手。
http://mars.nasa.gov/mer/gallery/all/2/p/2190/2P320875706EFFB27MP2400L5M5-BR.JPG
答案 0 :(得分:2)
岩石是图像的一部分,比沙子更平坦。您可以尝试获取文件的每一行,将其划分为小段,并计算段的峰度。
Kurtosis衡量"身高"和"宽度"段中值的频率的钟形曲线。沙子将比岩石具有显着更低的峰度,因为它具有更宽的"频谱。具有高峰度的区段可能属于岩石。
因此,确定图像的每一行必须分成的段的理想长度是一个问题。这不是一项微不足道的任务,但也不是一项艰巨的任务。你要识别的最小岩石宽度的一半(但至少是一粒沙子宽度的100倍)应该可以解决问题。
答案 1 :(得分:0)
从二维照片......真的很有挑战性。我打赌使用2张带偏移的图片是如何做得更容易处理为立体图像。滞后,我建议遵循以下策略:
话虽如此,我怀疑这个论坛是否适合寻找你的问题的答案,因为很难用编码提供直截了当的答案。