Я пытаюсь удалить фон UIImage и закончил с помощью порта iOS MagicWand.Смягчает края изображения после применения MagickFloodfillPaintImage
Я смог успешно удалить выбранные пиксели с помощью алгоритма заливки заливки, вызвав метод 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);
}
Любая помощь была бы принята с благодарностью!
Пробовал подход, который вы сказали, но результат не очень хорош. Существуют ли какие-либо другие библиотеки или инструменты iOS, которые можно использовать для удаления фона? Я пробовал OpenCV, и он делает хорошую работу, за исключением того, что у меня есть эта проблема, о которой я говорил здесь http://stackoverflow.com/questions/16637657/opencv-floodfill-replace-pixel-color-with-transparent-pixel – Jugs