Bonjour,
Je vous expose mon problème : je dois récupérer une image cachée dans une image de support. Ce que je dois faire :
"L'extraction d'une image cachée par ce procédé n'est pas plus compliquée; elle est même plus simple : il s'agit de faire un décalage de 4 bits vers la gauche sur chaque composante R,V,B : les 4 bits de poids faible deviennent ceux de poids fort. En Python, les 4 bits de droite sont alors mis à 0, mais attention, on passe d'un mot de 8 bits à un mot de 12 bits : le décalage allonge la longueur du mot. Il faut donc ignorer les bits de rang 8 à 11 : un ET logique avec 11111111 (& 255) suffit."
Ce que j'ai fait :
J'ai essayé de faire à la main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 r = str(bin(p[0]<<4))&255 v = str(bin(p[1]<<4))&255 b = str(bin(p[2]<<4))&255
Composante rouge = 167, on convertit en binaire ce qui donne : 10100111. Je fais un décalage de 4 bits vers la gauche, ce qui nous donnes : 101001110000 ( on a donc bien le mot de 12 bits = 2672). Je fais ensuite un ET logique de 255 = 11111111 : 101001110000&255 qui devrait normalement me donner 112. Ca ne fonctionne pas.. Est ce qu'on peut améliorer ce code ? est-il juste ?
J'ai besoin d'aide, merci d'avance.
Partager