質問: np.zeros((height,width,3), np.int8) #白く塗りつぶし cv2.rectangle(img, (0,0), (img.shape[1], img.shape[0]),(255, 255, 255), -1) #表示・保存 print(img[10,10]) cv2.imshow('result', img) cv2.imwrite("white.bmp", img) cv2.waitKey(0) cv2.destroyAllWindows() ``` ### 発生している問題・エラーメッセージ imshowで表示される結果は白いのですが、 printの結果は [127, 127, 127] となり、 保存された画像は灰色になっています。 ### 試したこと forループで回す方法も試しましたが、同様の結果となりました。 また、塗りつぶしを ``` cv2.rectangle(img, (0,0), (img.shape[1], img.shape[0]),(255, 255, 255), -1) ``` とした場合、 imshowで表示される結果は灰色になるのですが、 printの結果は [0, 0, 0] となり、 保存された画像は黒色になっています。 ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報を バージョンはそれぞれ python : 3.6.1 opencv : 3.3.0 です。 よろしくお願い致します。
回答: `np.int8`の最大値が127だからです。 `np.uint8`を使ってください。 こちらにnumpyのデータタイプの範囲が網羅されています。