|
|
|
|
Strumenti |
03-03-2022, 09:52 | #1 |
Senior Member
Iscritto dal: Apr 2006
Città: ROMA
Messaggi: 919
|
Quale linguaggio per questo progetto?
Buongiorno,
Per un progetto non lavorativo , cerco un modo di analizzare un' immagine tipo la seguente: Ottenendo come risultato la posizione dei numeri dell' immagine: 1 = A1, 2 = B1 , 3 = C1 Quindi nient' altro che un modo per identificare da un' immagine un determinato numero (che può variare di posizione a seconda dell immagine da analizzare proposta in una tabella fissa es. 1x3) in una determinata posizione (es. Cella A1) Ho una buona esperienza di lavoro in ambito java ma ho conoscenza di base anche di altri linguaggi. C è qualcosa in java che posso approfondire per fare quanto descritto o eventualmente in altri linguaggi o estensioni? (Es. Visual basic). Anche spunti ed esempi di codici già esistenti nel web sarebbero di grazie aiuto. Grazie. ps: ho sentito parlare di tesseract ma non so se puo' darmi le informazioni sulle coordinate oltre al semplice OCR . Ultima modifica di decave : 03-03-2022 alle 14:30. |
04-03-2022, 06:50 | #2 |
Senior Member
Iscritto dal: Apr 2006
Città: ROMA
Messaggi: 919
|
Up
|
04-03-2022, 08:00 | #3 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Se lo dovessi fare io penso che proverei a usare le tecniche di elaborazione morfologica delle immagini per estrarre le righe orizzontali e verticali (vedi ad esempio: https://docs.opencv.org/4.x/dd/dd7/t...etection.html).
Una volta fatto questo individuerei l'area delle celle e userei tesseract per estrarne il contenuto. Nota: il link è solo un esempio, non sto dicendo che userei c++, va bene un qualunque linguaggio che abbia una libreria di elaborazione delle immagini con le operazioni necessarie. |
09-03-2022, 07:13 | #4 |
Senior Member
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2275
|
beh al volo e molto a grandi linee, io farei così:
- identificazione righe e colonne, nel caso in cui ci sia variabilità tra immagini - lettura dati per il punto 1, userei hough lines di opencv per identificare i riquadri https://docs.opencv.org/3.4/d9/db0/t...ugh_lines.html (devi giocare un po con i parametri perchè è comunque una funzione "probabilistica" ma ritorna risultati più che accettabili) dalle linee trovate(magari fai una scrematura, due passaggi per trovare linee verticali e poi orizzontali così da eliminare un po di falsi positivi) ti ricavi le coordinate delle varie celle dopodichè passi queste subimmagini alla parte ocr per il punto 2 ti recuperi un qualsiasi OCR, tesseract va bene, e via andare
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante... |
22-03-2022, 11:42 | #5 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20816
|
per completare il discorso di -MiStO-
la cosa più importante più che il linguaggio di per se è che ti devi basare su librerire di machine vision (visto la semplicità del task direi di evitare gli approggio basati su reti neurali ed usare le comuni tecniche di imaging per l'automazione) le scelte sono due halcon o opencv halcon è a pagamento (ma puoi provarle gratis ) sono sicuramente più avanzate e performanti di opencv che è il suo duale open source entrambe le librerie sono disponibili per una marea di linguaggi da .net a c++ quindi scelgi il linguaggio che più ti aggrada purchè supporti una di queste librerie
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:38.