在iPhone上使用Image Magick进行图像边缘检测

8
我想将RGB图像转换为下面的图像。我正在使用ImageMagick库。我想知道如何使用哪些函数将原始图像转换为Image-2。以下是两个图像。我只想使用ImageMagick库。我想要进行与此链接类似的图像处理,但是在Objective C中实现。 enter image description here enter image description here
2个回答

3

无法确定该图像是否使用Image Magick生成。但是,如果您阅读此答案,值得查看木炭滤镜

convert holocaust_sm.jpg -charcoal 5 charcoal.gif

我的建议是你也要尝试阈值,并且看一下儿童彩色轮廓图像的例子,因为我认为它不是单个滤镜达到的效果(假设它是由IM生成的)。
经过一番研究,我相信你所寻找的效果可以通过几个滤镜的混合来实现。你必须查看这个页面,它展示了使用IM的许多酷炫效果。
这是我的尝试:
convert ms8nP.png -colorspace Gray -blur 0x.7 -negate -edge 2 -negate -threshold 40% -blur 0x.5 out.png

应用40%的阈值后,它会生成白色图像。在Magickwand函数中是:MagickThresholdImage(magick_wand, 40); - apoorv shah
你有没有想法来实现这个链接中的第三步骤:https://dev59.com/N1HTa4cB1Zd3GeqPSIf3 - apoorv shah
我可能会,但那是另一个问题,我很乐意在另一个主题中回答它。 - karlphillip

3

@Apoorv,我不知道具体情况,但如果你只是想进行边缘检测,或许可以使用openCV。

以下是一些使用openCV在iPhone上进行边缘检测的源代码和教程链接:

iPhone和OpenCV

http://dasl.mem.drexel.edu/~noahKuntz/openCVTut5.html

这里有一个我用openCV在iPhone上创建的示例项目:

原始图像:

enter image description here

边缘检测后的图像:

enter image description here


是的,我已经使用过OpenCV。但我想转换图像。在该图像中,当两种颜色之间存在差异时,它会显示为黑色边框。这不是简单的边缘检测。 - apoorv shah
你能更清楚地说明你的要求吗?关于“转换后的图像”和“两种颜色之间显示为黑色边框”的区别。 - Robin
我想要像这个链接一样做:https://dev59.com/N1HTa4cB1Zd3GeqPSIf3 - apoorv shah
嗨,罗宾,在上面的输出中显示了黑色和灰色线条...我想要白色背景和黑色线条..请给我指导。 - Babul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接