Image en binaire
Résolu- Convertir une image en binaire
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Binaire - Guide
- Image iso - Guide
- Légender une image - Guide
- Convertir epub en kindle - Guide
2 réponses
https://answers.opencv.org/question/226582/cv2imread-fail-to-open-gif-image/
Ps: à l'avenir, merci de poster ton code correctement sur le forum, en utilisant en l'icône prévue à cet effet lorsque tu rédiges ton message... Au lieu d'en mettre une image car on ne peut pas copier coller si besoin...
Bonjour,
Chez moi, la solution proposée par jordane45 #1 ne marche malheureusement pas (en tout cas avec cette image) :
import cv2
(img, ret) = cv2.imread(" Copy-of-GIFShell-Exploit-1-500-×-261-px-1.gif")
... car j'obtiens :
[ WARN:0@30.402] global ./modules/imgcodecs/src/loadsave.cpp (239) findDecoder imread_(' Copy
-of-GIFShell-Exploit-1-500-×-261-px-1.gif'): can't open/read file: check file path/integrity
Par contre, ce que tu peux faire, c'est charger ton image avec PIL, puis en extraire les données dans un np.array :
import numpy as np from PIL import Image img = Image.open("Copy-of-GIFShell-Exploit-1-500-×-261-px-1.gif") frame = np.asarray(img) print(frame.shape) # (261, 500)
Une fois que tu as tes donnée sous forme de np.array, tu peux appliquer dessus les fonctions d'OpenCV, dont cv2.threshold.
Exemple complet :
mport cv2 import numpy as np from PIL import Image # https://votiro.com/wp-content/uploads/2022/09/Copy-of-GIFShell-Exploit-1-500-%C3%97-261-px-1.gif img = Image.open("Copy-of-GIFShell-Exploit-1-500-×-261-px-1.gif") frame = np.asarray(img) print(frame) (ret, frame_bin) = cv2.threshold(frame, 20, 255, cv2.THRESH_BINARY) assert ret print(frame_bin) cv2.imshow("Binarisation", frame_bin) cv2.waitKey(0) cv2.destroyAllWindows()
Bonne chance
Bonjour jordane45,
Oui, j'ai regardé. Et le problème est que le lien que tu donnes ne marche pas avec le gif que j'ai donné en exemple (et je pense avec aucun gif). Ça dépend peut-être de la version d'OpenCV (j'utilise le paquet standard sur une Debian récente), donc si j'ai le problème, je ne pense pas être un cas isolé. La méthode que je préconise fonctionne quant à elle correctement.
Je vérifierai ce soir ou demain, mais il me semble que dans l'ensemble de la discussion le point est justement abordé concernant l'utilisation des gif...
En effet, de base, ce format n'est pas supporté pour faire ce que tu veux un code est donné dans cette discussion qui montre une éventuelle possibilité de contourner le souci.