我认为您的工作水平太低。快速通过边缘检测过滤器将图像集非常明显地分为(1,3)和(2,4)。尤其是如果这些图像来自固定的摄像机视点,则在算法(1)中找到与原型形状的匹配将相对容易。即使是(4)的情况,也可以为您提供部分匹配的域,您可以试探性地确定那里是否有足够的山脉要考虑。

在数码照片中,如何检测山脉是否被云层遮盖?

共 3 个回答
高赞
时间
活跃
0

0

根据您已有的内容,提出一些具体建议:
- 拍摄最佳图像(类似于图像1),通过边缘检测运行它,在任何图形编辑器中打开结果(MS Paint可以完成),并清洁除山顶边界(“中国帽”线)之外的所有内容。这就是卷积内核。您可以从上方和下方进行裁剪(不调整大小!),以节省下一步的时间。
- 使用
Convolve
函数(您似乎已经对Perl和ImageMagick感到满意)将内核与一些图像进行卷积。在生成的图像上,您应该看到一个对应于内核“正确”位置的尖峰(与图像中的山峰重合)。 - 当山峰清晰可见时,此尖峰的相对(相对于周围噪声的高度)高度会更大。通过拍摄几张代表性图像,您可能能够确定将好图像与坏图像分开的阈值。
- 无论您做什么,都会有误报和误报。做好准备
0

答案取决于问题的具体程度。如果它是来自同一POV的同一山峰,则针对已知的良好图像进行运行和边缘检测,并将其用作与来自主体的边缘检测图像进行卷积的基线。如果只是您感兴趣的山峰边缘,请从基准线中手动删除其他要素。
新手导航
- 社区规范
- 提出问题
- 进行投票
- 个人资料
- 优化问题
- 回答问题
0
问题
我收集了日本一座山的数码照片。但是,这座山经常被云雾笼罩。
我可以使用哪些技术来检测图像中可见山峰?我目前将Perl与Imager模块一起使用,但可以选择。
所有图像都是从完全相同的位置拍摄的-这些是一些示例。
样本图片http://www.freeimagehosting.net/uploads/7304a6e191.jpg
我天真的解决方案
我首先获取了山锥的几个水平像素样本,并将亮度值与天空中的其他样本进行比较。这对于区分好图像1和差的图像2效果很好。
但是在秋天下雪了,山变得比天空亮,就像图3一样,我简单的亮度测试开始失败了。
图像4是边缘盒的示例。我将其归类为好图像,因为其中一些山清晰可见。
更新1
谢谢您的建议-我很高兴大家都高估了我的能力。
根据答案,我已经开始尝试ImageMagick边缘检测变换,这使我可以分析更简单的图像。
边缘检测到的样本http://www.freeimagehosting.net/uploads/caa9018d84.jpg
我认为我应该使用某种遮罩来摆脱树木和大部分云朵。
获得蒙版图像后,将相似度与“良好”图像进行比较的最佳方法是什么?我猜适合这个工作的“ 比较 ”命令?如何从中获得数字“相似度”值?
更新2
我想我可能会卷入其中。
我通过对好的图像进行边缘检测来制作“内核”图像(下图的顶部)。然后,我将山的轮廓周围的所有“噪音”都消除了,然后进行了裁剪。
然后,我使用以下代码:
我针对各种示例图像运行了此操作,结果如下(卷积图像显示在每个示例下方):
(对不起-与上次不同的示例图像!)
替代文字http://www.freeimagehosting.net/uploads/f9a5a34980.jpg
现在,我试图量化图像的“随机性”。我尝试拍摄图像的平均亮度:
但这给出的值并不有意义(0.0165、0.0175和0.0174)。还有更好的方法吗?