Fra*_*ont 7 tesseract r image-processing contrast text-recognition
我正在尝试获得一些自动文本识别的经验,我正在使用包tesseract在某些图像上执行ocr(即我拍摄的一些截图).
为了提高我的程序识别下图中价格的性能,我使用magick软件包对图像进行了一些预处理,方法是通过改变亮度和饱和度参数来增加图像的对比度.
但是,我认为通过转换为黑白图像可以进一步提高性能.
如何在R中有效地实现这一目标?
您可以使用以下方法转换色彩空间magick::image_quantize
:
library(magick)
#> Linking to ImageMagick 6.9.9.25
#> Enabled features: cairo, fontconfig, freetype, fftw, lcms, pango, rsvg, webp
#> Disabled features: ghostscript, x11
i <- image_read('https://i.stack.imgur.com/nn9k0.png')
i
Run Code Online (Sandbox Code Playgroud)
i %>% image_quantize(colorspace = 'gray')
Run Code Online (Sandbox Code Playgroud)
根据您所需的图像结构,您还可以使用以下image_convert
方法执行相同的操作:
i %>% image_convert(colorspace = 'gray')
# or
i %>% image_convert(type = 'Grayscale')
Run Code Online (Sandbox Code Playgroud)
或转换为真正的黑白(非灰度),
i %>% image_convert(type = 'Bilevel')
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它返回一个带有椒盐噪声的图像,这可能有用也可能没有用。
但是请注意,虽然这对于 OCR 来说可能是一种很好的做法,但通过网络抓取来获取这些数据会简单得多,例如,如果允许的话,使用rvest(大概同样的问题适用于抓取这些图像)。更好的是,如果它包含您需要的信息,是使用适当的RyanAir API。
在 ImageMagick 命令行中,您可以简单地将阈值设置为某个百分比。我在这里使用了 50%,但可以根据需要进行调整。
convert image.png -threshold 50% result.png
Run Code Online (Sandbox Code Playgroud)
在 Imagick 中,命令是 Imagick::thresholdImage。请参阅http://php.net/manual/en/imagick.thresholdimage.php。抱歉,我不知道您使用的是哪个“Magick”软件包。
归档时间: |
|
查看次数: |
1727 次 |
最近记录: |