Опитвам се да създам код, който ми позволява да изчиствам изображения, които да бъдат прочетени от и 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