実際には、期待される出力イメージはオリジナルの赤色チャネルの色空間ではありません。それは入力画像に適用されたCOLORMAPのようなものです。良いことは、OpenCVに複数のカラーマップが組み込まれていることです。悪いニュースは、あなたの期待される出力がOpenCVの組み込みのカラーマップによって生成できないということです。しかし、あきらめないでください、あなたはcv2.LUT()
機能を使用してカスタムルックアップテーブルを使用して色をマッピングすることができます。ここでは、より良いデモンストレーションのために
は、あなたのイメージを持ついくつかの例は以下のとおりです。ここで
img = cv2.imread('origin.png')
im_color = cv2.applyColorMap(img, cv2.COLORMAP_HSV)
cv2.imshow('mapped_image', im_color)
# cv2.imwrite('result.png', im_color)
cv2.waitKey(0)
![enter image description here](https://i.stack.imgur.com/Dk8O9.png)
は、すべてのOpenCVのCOLORMAPのとおりです。カスタムを使用して色をマッピングするための
print [sub for sub in dir(cv2) if sub.startswith('COLORMAP_')]
['COLORMAP_AUTUMN', 'COLORMAP_BONE', 'COLORMAP_COOL', 'COLORMAP_HOT', 'COLORMAP_HSV', 'COLORMAP_JET', 'COLORMAP_OCEAN', 'COLORMAP_PINK', 'COLORMAP_RAINBOW', 'COLORMAP_SPRING', 'COLORMAP_SUMMER', 'COLORMAP_WINTER']
例ルックアップテーブルcv2.LUT()
を使用して:
元のBGRイメージで青のチャンネルを0に設定するだけです: 'img [:、:、0] = 0' – Miki
私はそれを試しましたが、結果はimgur link。 –
削除される色チャンネルは赤色ではなく、緑色と青色の混合であると私には思われます。 InkScape(またはその他の画像処理ソフトウェア)で画像を開き、色のレベルで再生することをお勧めします。正しい組み合わせを特定したら、アラームを削除します。 – Crolle