我正在尝试删除 UIImage 的背景并最终使用 MagicWand 的 iOS 端口。
通过调用 MagickFloodfillPaintImage 方法,我能够使用洪水填充算法成功删除选定的像素。然而,现在的挑战是软化洪水填充去除过程留下的锋利边缘。
我正在使用下面的代码来删除背景。
PixelIterator* iterator = NULL;
PixelWand** pixels = NULL;
size_t x;
iterator = NewPixelRegionIterator(magick_wand, _touchCoords.x*scale, _touchCoords.y*scale, 1, 1);
pixels = PixelGetNextIteratorRow(iterator,&x);
bc_wand = pixels[0];
channel = ParseChannelOption("rgba");
status = MagickFloodfillPaintImage(magick_wand, channel, fc_wand, _tolerance, bc_wand, _touchCoords.x*scale, _touchCoords.y*scale, MagickFalse);
if (status == MagickFalse) {
ThrowWandException(magick_wand);
}
任何帮助将不胜感激!