cv2.imreadは、グレースケール画像の詳細を読み取ります

グレースケール画像や赤外線画像はシングルチャンネル画像であり、カラー画像は3チャンネル画像であることは誰もが知っています。ただし、img.shapeを使用してグレースケール/赤外線画像を読み取ると、3チャネルの結果が返されます。

img_path = "/home/zhaotongdong/data/kaggle_humap/256/archive/masks/1e2425f28_18.png"#这里是我的单通道灰度图
img = cv2.imread(img_path)
# img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2.imshow('1', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

しかし、印刷が3チャンネルの
ここに画像の説明を挿入
主な理由を示している場合:opencvはデフォルトの3チャンネルで画像を読み取ります。如果是灰度图/红外图片则会これは、复制三次(RGB缺省),因此读出来的图片是三通道。
シングルチャンネルのグレースケール画像/赤外線画像に従って読み取りを開始する場合のレイヤーです。在imread()函数中加入相关参数(cv2.IMREAD_GRAYSCALE):

img_path = "/home/zhaotongdong/data/kaggle_humap/256/archive/masks/1e2425f28_18.png"#这里是我的单通道灰度图

img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
cv2.imshow('1', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/AWhiteDongDong/article/details/111185930