[PROBLEMA] File (appena creato) not found! - Python 3.6

855
134
Hardware Utente
CPU
Ryzen 3 1200
Dissipatore
Stock
Scheda Madre
A320m-k
Hard Disk
SSD 240GB + 2x500GB
RAM
8gb DDR4
Scheda Video
HD5350
Scheda Audio
Integrata
Alimentatore
EVGA 500w
Case
Zalman T3
Sistema Operativo
Windows 10
#1
Buonsalve,
sto cercando di creare (con grosse difficoltà) un programma che faccia una scansione di un'immagine, la ripulisca per evitare il fastidioso alone di sottofondo una volta stampata e me la sintetizzi in un testo.
Per ora non mi interessa dell'interfaccia grafica, la creerò in seguito. L'errore mi stupisce molto. Mi era capitato un'altra volta con pygame ma avevo risolto mettendo il doppio slash (C:\\...\\...\\a.png). Mi sono assicurato che a fosse al proprio posto più e più volte, specifico che a2 viene creata ma non viene sintetizzata.
Innanzitutto ecco il codice:

Codice:
import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
def stampa():
    testo = pytesseract.image_to_string(Image.open("C:\\Users\\SUINO\\Desktop\\a2.jpg"))
    print(testo)
im = Image.open("C:\\a.jpg")
im = im.filter(ImageFilter.MedianFilter())
contrasto = ImageEnhance.Contrast(im)
im = contrasto.enhance(3)
im = im.convert('1')
im.save("C:\\Users\SUINO\\Desktop\\a2.jpg")
stampa()
Eseguendolo mi riporta un errore in quanto dice che non riesce a trovare im (che ho salvato nella penultima riga). Ho messo la definizione per un disperato tentativo anche se non ha senso.
Dove sbaglio?
Errore:
Codice:
Traceback (most recent call last):
  File "C:\Users\SUINO\Desktop\Nuova cartella\scanner.py", line 13, in <module>
    stampa()
  File "C:\Users\SUINO\Desktop\Nuova cartella\scanner.py", line 5, in stampa
    testo = pytesseract.image_to_string(Image.open("C:\\Users\\SUINO\\Desktop\\a2.jpg"))
  File "C:\Python 3.6\lib\site-packages\pytesseract\pytesseract.py", line 122, in image_to_string
    config=config)
  File "C:\Python 3.6\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
    proc = subprocess.Popen(command, stderr=subprocess.PIPE)
  File "C:\Python 3.6\lib\subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "C:\Python 3.6\lib\subprocess.py", line 992, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] Impossibile trovare il file specificato
 
M

Mursey

Ospite
#2
Nella funzione stampa prova a fare una semplice
Python:
Image.open("C:\\Users\\SUINO\\Desktop\\a2.jpg")
in questo modo escludiamo che ci sia un problema di asincronismo tra il save e l'open.
 
855
134
Hardware Utente
CPU
Ryzen 3 1200
Dissipatore
Stock
Scheda Madre
A320m-k
Hard Disk
SSD 240GB + 2x500GB
RAM
8gb DDR4
Scheda Video
HD5350
Scheda Audio
Integrata
Alimentatore
EVGA 500w
Case
Zalman T3
Sistema Operativo
Windows 10
#3
Nella funzione stampa prova a fare una semplice
Python:
Image.open("C:\\Users\\SUINO\\Desktop\\a2.jpg")
in questo modo escludiamo che ci sia un problema di asincronismo tra il save e l'open.
non dà errori.
EDIT: modificato perchè ho detto una stupidata
 
855
134
Hardware Utente
CPU
Ryzen 3 1200
Dissipatore
Stock
Scheda Madre
A320m-k
Hard Disk
SSD 240GB + 2x500GB
RAM
8gb DDR4
Scheda Video
HD5350
Scheda Audio
Integrata
Alimentatore
EVGA 500w
Case
Zalman T3
Sistema Operativo
Windows 10
#5
Quindi il file esiste, allora il problema è nella funzione image_to_string o qualche sua dipendenza che manca.
come posso fare? Dal sito di python mostra proprio questa sintassi. Ho provato a togliere image.open prima di image_to_string e mi presenta un errore alla riga 14 ('str' has not module save).
 

Reeaver

Utente Attivo
1,147
121
Hardware Utente
CPU
AMD RYZEN 5 1600
Dissipatore
RYZEN WRAITH SPIRE
Scheda Madre
MSI B350 TOMAHAWK
Hard Disk
SSD SAMSUNG 850 250 GB + WD CAVIAR BLUE 1TB
RAM
HYPER X 8GB 2400MHz DDR4 LP
Scheda Video
NVIDIA GTX1070 O8GB
Scheda Audio
INTEGRATA - IMPIANTO LOGITECH 2.1
Monitor
SAMSUNG C24F390
Alimentatore
SEASONIC SSR-550M
Case
NZXT S340
Periferiche
MOUSE, TASTIERA, MANI
Sistema Operativo
WINDOWS 10 PRO 64-BIT
#6
Giusto per curiosità, puoi postare l'immagine ? Se è scritta a mano, allora pytesseract ti servirà a niente...
Per me è questo. L'immagine può essere che non la riconosca perchè non è scritta "al computer" ma con caratteri a mano.
 
855
134
Hardware Utente
CPU
Ryzen 3 1200
Dissipatore
Stock
Scheda Madre
A320m-k
Hard Disk
SSD 240GB + 2x500GB
RAM
8gb DDR4
Scheda Video
HD5350
Scheda Audio
Integrata
Alimentatore
EVGA 500w
Case
Zalman T3
Sistema Operativo
Windows 10
#7
Giusto per curiosità, puoi postare l'immagine ? Se è scritta a mano, allora pytesseract ti servirà a niente...
Per me è questo. L'immagine può essere che non la riconosca perchè non è scritta "al computer" ma con caratteri a mano.
Sì certo ne ero a conoscenza, quella allegata è già stata parzialmente modificata dal programma. Tuttavia non dovrebbe avere difficoltà nel riconoscere la scritta in quanto verrebbe aumentato ulteriormente il contrasto.
 

Allegati

  • 46.9 KB Visualizzazioni: 28

Reeaver

Utente Attivo
1,147
121
Hardware Utente
CPU
AMD RYZEN 5 1600
Dissipatore
RYZEN WRAITH SPIRE
Scheda Madre
MSI B350 TOMAHAWK
Hard Disk
SSD SAMSUNG 850 250 GB + WD CAVIAR BLUE 1TB
RAM
HYPER X 8GB 2400MHz DDR4 LP
Scheda Video
NVIDIA GTX1070 O8GB
Scheda Audio
INTEGRATA - IMPIANTO LOGITECH 2.1
Monitor
SAMSUNG C24F390
Alimentatore
SEASONIC SSR-550M
Case
NZXT S340
Periferiche
MOUSE, TASTIERA, MANI
Sistema Operativo
WINDOWS 10 PRO 64-BIT
#8
Non dovrebbe essere troppo difficile...Io ho sempre lavorato con immagini a sfondo bianco.
Dai un'occhiata a questo.
 

Discussioni Simili


Entra