2015-05-18 7 views
1

Я хочу обработать изображения, прежде чем отправлять их в Tesseract для OCR.Могу ли я создать скрипт для GIMP для выполнения нескольких процессов?

Например:

  • Изменение размера изображения
  • Изменить разрешение 300 точек на дюйм
  • Threshold (B & W изображения)
  • Резкость изображения

Как автоматизировать этот процесс?

+0

Можно ли это сделать в GIMP? Да, но они, возможно, более подходящая библиотека для автоматизации этого - это Leptonica или VIPS или даже GEGL - оба имеют привязки Python - и это должен быть ваш язык выбора (даже если вы выберете GIMP, Python-fu будет лучше, чем скрипт -fu, если вы уже знаете схему) – jsbueno

+0

Как написать скрипт для GIMP в Python-fu? –

ответ

1

Я только что собрал ответ (https://graphicdesign.stackexchange.com/questions/53919/editing-several-hundred-images-gimp/53965#53965) на графическом дизайне, который предназначен как праймер для автоматизации GIMP для людей без навыков программирования - должно быть хорошо для понимания Python-fu.

В том же ответе есть ссылки на официальную документацию и один пример создания небольшого скрипта. Вы должны их бросить PDB GIMP, чтобы узнать о точном поступлении, который вы хотите.

Но, в конце концов, вы можете создать файл 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 - это почти то же самое, но с кнопкой «применить», что позволяет легко протестировать вызов и скопировать его на ваш код подключаемого модуля.