Je ne parviens pas à obtenir une image en niveaux de gris en RVB, voici mon code:
backtorgb = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB) cv2.error: /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/color.cpp:9765: error: (-215) scn == 1 && (dcn == 3 || dcn == 4) in function cvtColor
Cette erreur renvoie:
img=cv2.imread("clahe_2.jpg") backtorgb = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB) showImg(backtorgb,"claheCLR")
Le chemin du fichier est correct. Une suggestion?
3 Réponses :
Je pense que le problème est que votre image n'est pas en vraie échelle de gris. C'est RVB, mais visible en niveaux de gris. Il faut donc importer une chaîne à partir de l'image, puis exécuter le code:
backtorgb = cv2.cvtColor (img [..., 0], cv2.COLOR_GRAY2RGB)
Si le problème est que l'image est visible RVB en niveaux de gris, il n'est sûrement pas nécessaire de la convertir en RVB?
Oui. La réponse principale est que les formats d'image tels que * .jpg, * .png ne peuvent pas stocker d'image en niveaux de gris et contiennent toujours des données multicanaux.
Concernant votre dernier commentaire: PNG et JPEG peuvent certainement stocker des images à valeur de gris (monocanal).
Par défaut, imread
ouvre l'image en tant qu'image BGR à 3 canaux afin que vous n'ayez pas besoin de la convertir, peut-être juste en RVB si c'est ce que vous recherchez. p >
Consultez la documentation ici a>
Le problème était sur l'application du filtre CLAHE et sa sortie en niveaux de gris, en fait la sortie gardait les 3 canaux mais à la vue cela ressemblait à une échelle de gris, documentation ici .
J'ai simplement trouvé ici une méthode qui gardait le Formulaire RVB pour résoudre le problème, merci à tous pour les réponses.
Y, pas mentionné .. mon mauvais :)
1) Si vous voulez que
imread ()
soit lu en niveaux de gris, vous devez définir l'indicateur surcv2.IMREAD_GRAYSCALE
surimread ()
. 2) Si vous souhaitez revenir à une image couleur, sachez qu'OpenCV utilise la commande BGR en général.Veuillez imprimer
img.shape
afin que nous puissions voir le nombre de canaux dans l'image.