我想检查图像是否有很多同质区域。因此,我希望获得一种图像的某种值,该图像根据均匀区域的数量/大小声明图像的比例(例如,该值的范围可以是0到5)。
也可能存在某种分类,而不是价值。
[许多同质区域 - >价值/等级5;少数同质区域 - >价值/等级0]
我想在perl中这样做。是否有包装/功能或类似的东西?
答案 0 :(得分:3)
您想要的似乎是我不熟悉的图像处理研究领域。但是,GraphicsMagick's mogrify utility有-segment option:
使用
-segment
分割图像,方法是分析颜色成分的直方图,并使用模糊c均值技术识别均匀的单位。尺度空间滤波器分析图像的三个颜色分量的直方图并识别一组类。每个类的范围用于通过阈值处理粗略地分割图像。与每个类相关联的颜色由特定类的范围内的所有像素的平均颜色确定。最后,使用模糊c均值技术将任何未分类的像素分配给最近的类。
我不知道这对你有用。你可能不得不在这个库中找到它,并阅读一些研究。您也可以通过PerlMagick访问此权限。但是,它看起来不像是可以访问内部,而只是根据参数生成图像。
在我的测试中(没有真正理解参数的作用),照片变成了全黑,而大面积相似颜色的PNG图像被缩小为一种平均颜色。你是否可以利用这个事实制定一项措施是一个我不打算调查的开放性问题; - )