我正在尝试将表的图像转换为黑白图像,并删除R上的网格。当我运行该命令时,输出会显示一条消息,说明参数无效。运行后续命令会出现错误,因为先前的命令没有得到处理,并且所需的修改文件不存在。我该怎么解决这个问题!?
> convert_bw <- 'convert table.jpg -fill white -fuzz 20% +opaque "#000000" table_bw.jpg'
> system(convert_bw)
Invalid Parameter - -fill
[1] 4
> # remove grid
> remove_grid <- "convert table_bw.jpg -negate -define morphology:compose=darken -morphology Thinning 'Rectangle:1x80+0+0<' -negate table_wo_grid.jpg"
> system(remove_grid)
Invalid Parameter - -negate
[1] 4
> # read img and ocr
> data <- image_read("table_wo_grid.jpg") %>%
+ image_crop(geometry_area(0, 0, 80, 25)) %>%
+ image_ocr() %>%
+ stringi::stri_split(fixed = "n")
Error in magick_image_readpath(path, density, depth, strip, defines) :
rsession.exe: UnableToOpenBlob `C:UsersAPDocumentstable_wo_grid.jpg': No such file or directory @ error/blob.c/OpenBlob/2924
在系统命令中,使用magick convert
而不仅仅是convert
。
在imagemagick 7中,convert
是一个需要单独安装的遗留实用程序,而在Windows上(您似乎正在使用(,convert
运行一个工具将卷从FAT转换为NTFS-这不是您想要的,但解释了为什么会出现"无效参数"错误。
或者,考虑使用R包magick
来避免使用system()
,而是从R 中执行所有操作