Я пытаюсь создать код, который позволяет мне очищать изображения для чтения и механизма OCR. Пока мне не удалось многого добиться. Установите Imagemagink только в моем проекте iOS и используйте некоторые функции API для создания изображения в оттенках серого.
То, что я пытаюсь достичь, выглядит примерно так:
convert \( $infile -colorspace gray -type grayscale -contrast-stretch 0 \) \ \( -clone 0 -colorspace gray -negate -lat ${filtersize}x${filtersize}+${offset}% -contrast-stretch 0 \) \ -compose copy_opacity -composite -fill "$bgcolor" -opaque none +matte \ -deskew 40% -sharpen 0x1 \ $outfile
Теперь проблема в том, что я не смог воспроизвести это в своем коде. Итак, мои вопросы:
Кто-нибудь знает способ использования метода «ConvertImageCommand()», используя UIImage в качестве входных данных вместо пути к файлу? (Пример здесь: http://www.imagemagick.org/discourse-server/viewtopic.php?t=25704)
В качестве альтернативы и продолжайте работать с моим фактическим кодом, может ли кто-нибудь указать мне правильное направление преобразования приведенной выше команды в метод API для завершения кода ниже? До сих пор я обнаружил, что параметр "-lat" эквивалентен в API: "MagickAdaptiveThresholdImage()"
с уважением,
-(UIImage *)drawMonochromeImage:(UIImage *)image
{
// Create temporary file
NSString *tempFilePath = [NSTemporaryDirectory()
stringByAppendingPathComponent:@"temp.jpg"];
MagickWandGenesis();
MagickWand *wand = NewMagickWand();
NSData *data = UIImagePNGRepresentation(image);
MagickReadImageBlob(wand, [data bytes], [data length]);
// Monochrome image
//MagickQuantizeImage(wand,2,GRAYColorspace,1,MagickFalse,MagickFalse);
MagickDespeckleImage(wand);
MagickEnhanceImage(wand);
MagickQuantizeImage(wand,256,GRAYColorspace,0,MagickFalse,MagickFalse);
MagickBrightnessContrastImage(wand,-40,30);
// Write to temporary file
MagickWriteImage(wand,
[tempFilePath cStringUsingEncoding:NSASCIIStringEncoding]
);
// Load UIImage from temporary file
UIImage *imgObj = [UIImage imageWithContentsOfFile:tempFilePath];
// Display on device
return imgObj;
// [self.imageView setContentMode:UIViewContentModeScaleAspectFit];
}
convert \( $infile -colorspace gray -type grayscale -contrast-stretch 0 \) \ \( -clone 0 -colorspace gray -negate -lat ${filtersize}x${filtersize}+${offset}% -contrast-stretch 0 \) \ -compose copy_opacity -composite -fill "$bgcolor" -opaque none +matte \ -deskew 40% -sharpen 0x1 \ $outfile
- person tomcontr   schedule 22.12.2014