我正在尝试检测图像中的矩形,我知道这可以使用 OpenCv,但我正在考虑使用 ImageMagick。
问题是,是否可以使用 ImageMagick 来做到这一点?我想在 ImageMagick 中从 OpenCV 中找到等效的 findContours
函数,但找不到?
最佳答案
这是一个不完全强大的版本,可以满足我对 simply connected regions 的需求。 。它利用了以下事实:轮廓所包围的区域没有孔,并且没有区域与坐标 0,0 接触。两者都不太可能出现在我的申请中,因此我能够利用这些事实来建立背景。我还可以利用我预先知道轮廓的颜色是什么,我已经用 #ContourColor
convert inputImage.jpg -fill black +opaque #ContourColor
-fill blue -draw "color 0,0 floodfill"
-fill #ContourColor -opaque black
-fill white -opaque #ContourColor
-fill black -opaque blue
outputImage.jpg
这是每个步骤的分割...
- Fill everything not ContourColor as black
- Fill background as blue, assuming no simply connected object touches top left pixel 0,0
- Fill all black interiors as ContourColor to fill contours
- Replace ContourColor for White to establish foreground
- Replace blue background as black to establish background
对于 ImageMagick 来说,实现与 OpenCV 相同的轮廓功能会非常有用,但我和你处境相同,我只是在寻找一个简单的工具来梳理出我碰巧手边的一些区域。绘图并希望在一些图像处理回归测试中使用。我不想编写一个完整的应用程序来进行这些分割比较,并希望我可以通过编写一些 ImageMagick 魔法来获得!
关于java - 使用 imagemagick 检测轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849364/