2017-10-29 2 views
0

Hier ist der Code, den ich für das Lesen eines Textes aus mehreren Bildern in meiner Liste bin mit aber nach der Bildgrößenänderung ich mit genau die Ausgabe in separaten Ordnern gespeichert werden soll Name.Textteil aus der Liste der Bilder zu lesen und in R Speichern, magick mit

library(magick) 
library(magrittr) 
    test <- image_read(list) %>% 
     image_crop("100x16+161+68")%>% 
     image_resize("2000") %>% 
     image_convert() %>%  
     image_trim() %>% 
     image_ocr() 
    cat(test) 

Soweit ich, ist es herausgefunden, was ich Bild, eindeutige Namen mit „image_write“ zu retten tun könnte. Ich wäre dankbar für Anregungen und Hilfe und hoffe, dass es auch für neue Benutzer hilfreich wäre. Wenn es möglich ist, muss ich einen Stapel von etwa 100 Bildern für einen großen Datensatz erstellen.

image_write(list, path = "/data/backup", format = "png") %>% 

Antwort

1

Dies ist ein Weg:

library(magick) 
library(purrr) 

save_image <- function(img, img_name, output_dir) { 
    image_write(img, file.path(output_dir, basename(img_name))) 
    img 
} 

fils <- list.files("/tmp/so", pattern="png$", full.names = TRUE) 

map(fils, ~{ 
    curr_fil <- .x 
    image_read(curr_fil) %>% 
    image_crop("100x16+161+68") %>% 
    image_resize("2000") %>% 
    save_image(curr_fil, "/tmp/backup") %>% 
    image_convert() %>%  
    image_trim() %>% 
    image_ocr() 
}) -> ocr_result 

Es gibt keine wirkliche Notwendigkeit, eine Funktion zu machen, aber es macht die Rohre Reiniger. Auf diese Weise können Sie ein Rohrelement mit einem Nebeneffekt haben, aber weiter bearbeiten.

+1

Ich betreibe den Code gibt es nur wenige Probleme mit ihm, wenn Ordner nur ein Bild hat es funktioniert gut, aber für 2 Bilder funktioniert es 4mal und 3 Bilder liest es 9 mal für und so. und das zweite Problem ist, dass es nur das erste Bild in Backup-Ordner mit unterschiedlichen Namen speichern i jedes verarbeitete Bild mit ihren ursprünglichen Namen speichern wollen hoffen würden Sie in der Lage sein, diese Fragen zu klären, und vielen Dank für Feedback – Janjua

+0

der Tat. Gib diesem Schnitt ein Go. (Das war ein _very_ hilfreich/beschreibende Notiz über die Fehlfunktion Code #ty) – hrbrmstr

+0

yap das ist einfach perfekt jetzt danke Ihnen so sehr würde ich nicht in der Lage, ohne dass Sie zu tun – Janjua

Verwandte Themen