1

我想在将图像发送到 Tesseract 进行 OCR 之前对其进行处理。

例如:

  • 调整图像大小
  • 将分辨率更改为 300 dpi
  • 阈值(黑白图像)
  • 锐化图像

我怎样才能自动化这个过程?

4

1 回答 1

4

我刚刚汇总了有关图形设计的答案(https://graphicdesign.stackexchange.com/questions/53919/editing-several-hundred-images-gimp/53965#53965),旨在作为人们的 GIMP 自动化入门没有编程技能 - 理解 Python-fu 也应该很好。

在同一个答案上,有官方文档的链接,以及如何创建小脚本的一个示例。您应该让他们浏览 GIMP 的 PDB 以了解您想要的确切收益。

但是,总而言之,您可以像这样创建一个 Python 文件:

from gimpfu import *
import glob

def auto():
    for filename in glob(source_folder  + "/*.png"):
        img = pdb.gimp_file_load(source_folder + filename, source_folder + filename)
        # place the PDB calls to draw on the image before your interation here

        #disp = pdb.gimp_display_new(img)

        pdb.gimp_image_merge_visible_layers(img, CLIP_TO_IMAGE)
        pdb.gimp_file_save(img, img.layers[0], dest_folder + filename, dest_folder + filename)
        # pdb.gimp_display_delete(disp)
        pdb.gimp_image_delete(img)  # drops the image from gimp memory


register("batch_process_for_blah",
         "<short dexcription >Batch Process for Bla",
         "<Extended description text>",
         "author name",
         "license text",
         "copyright note",
         "menu label for plug-in",
         "", # image types for which the plug-in apply - "*" for all, blank for plug-in that opens image itself
         [(PF_DIRNAME, "source_folder", "Source Folder", None),
          (PF_DIRNAME, "dest_folder", "Dest Folder", None)], # input parameters - 
         [], # output parameters
         menu="<Image>/File", # location of the entry on the menus
         )
main()

要在for循环中找到想要的操作,去Help->Procedure Browser——或者更好,Filters->Python->Console然后点击Browse——它几乎是一样的,但是有一个“应用”按钮,可以很容易地测试调用,并将它复制到你的插件代码。

于 2015-05-22T13:39:41.137 回答