Sto caricando un'immagine RGB a 24 bit da un file PNG nella mia applicazione OpenCV.Conversione di immagini OpenCV da RGB a scala di grigi usando imread dando scarsi risultati
Tuttavia il caricamento dell'immagine in scala di grigi direttamente utilizzando imread
dà un risultato molto scarso.
Mat src1 = imread(inputImageFilename1.c_str(), 0);
Il caricamento dell'immagine RGB come RGB e la conversione in scala di grigi forniscono un risultato molto più bello.
Mat src1 = imread(inputImageFilename1.c_str(), 1);
cvtColor(src1, src1Gray, CV_RGB2GRAY);
mi chiedo se sto usando imread
per il mio tipo di immagini in modo corretto. Qualcuno ha avuto un comportamento simile?
L'immagine convertita in scala di grigi usando imread
qui è mostrato:
L'immagine convertita in scala di grigi usando cvtColor
è mostrato qui:
"Colore" immagine in OpenCV significa BGR. Quindi la seconda versione del tuo codice non è corretta. Dovrebbe usare 'CV_BGR2GRAY' per la conversione del colore. –
Grazie per il commento. Ho provato a convertire l'immagine in scala di grigi usando CV_BGR2GRAY invece di CV_RGB2GRAY, ma ho ottenuto lo stesso risultato. – tisch
Puoi allegare anche la tua immagine originale? –