skikit learnを使用してRGB画像のマスクを作成しようとしています。緑のチャンネルで[0,10,0]に等しいピクセル、つまり10ピクセルだけを選択してマスクを作成します。そして、それらのピクセルだけを表示します。これは、http://scikit-image.org/docs/dev/user_guide/numpy_images.htmlのようなまっすぐなはずですが、私は苦労しています。画像がロードされたJPGの場合マスクとRGB画像のNumpy/Scipy
することは、私は
mask = image == [0,10,0]
image = image[mask]
viewer = ImageViewer(image)
viewer.show()
を行うことができますしかし、私が取得:
TypeError: Invalid dimensions for image data
私は、(マスク)を印刷した場合、私はその代わりに、真の一連の実現各ピクセルでFalseを取得しています。
[[ True False True]
[ True False True]
[ True False True]
...,
[ True False True]
[ True False True]
[ True False True]]
画像の最初のピクセルは黒です。だから、それは[0,0,0]と[0,10,0]を比較し、Falseを上げるのではなく、True、False、Trueを出しているようです。
これは、各ピクセルに3つのマスクがあるため、これはマスクとして失敗するようです。
RGB画像でこのマスキングを行うための簡単な方法を知っている人はいますか?
おかげ
あなたの 'image'配列の寸法は、(n、3)の形状と一致しますか? –
いいえそれは(276,274,3) – James
どのようにこれらの特定のピクセルを表示するためにマスクを使用する予定ですか?マスクした後は、高さと幅の2D形式がないためです。 – Divakar