私は Python 3 の PIL ライブラリを使用して .gif ファイルを変更していますが、これまでのほとんどの場合、最終結果は想定どおりに見えましたが、いくつかの rgb 値を確認すると、数個しか返されていないことに気付きました。 .
0、51、153、102 は、私が最も頻繁に取得する 4 つの値です。他にも1~2個あるかもしれませんが、それくらいです。200x200 の gif 画像では、4 ~ 6 個の RGB 値しか得られません。
これは、私が現在使用している一般的な形式のコピーです。
from PIL import Image
def main():
image=Image.open("filename.gif")
image=image.convert('RGB')
width, height = image.size
for x in range(width):
for y in range(height):
r, g, b = image.getpixel ((x,y))
print (r,g,b)
上位ビットを下位ビットに転送するために 4 だけ右シフトしようとしましたが、戻り値はほとんど常に 0 です。
コーディングで何か間違っていますか?ビット値を左右にシフトしようとすると、いくつかの問題が発生すると思います。
どんな助けでも大歓迎です...