0

グレースケールの「test.png」のpng画像があります。私はこの画像に適応閾値を適用する必要があります。私はOpenCVを使用しています。グレースケール画像に適応しきい値を適用する

image = cv2.imread('test_big.png') 
im = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2) 

イメージがグレースケールではないため、適応しきい値を適用できません。 だから、グレースケールの画像を読み取ることを試みた:

image = cv2.imread('test_big.png',1) 

今は適応閾値を適用することができるが、出力は、青色および赤色の画像の代わりに、黒と白であろう。誰も助けることができますか?

答えて

0

障害が2番目のコードスニペットである:

image = cv2.imread('test_big.png',1) 

あなたはtest_big.pngがグレースケール画像であることを述べているが、次の3つのチャンネルのカラー画像(RGB)として、それを宣言しました。

は、したがって、あなたは

image = cv2.imread('test_big.png', 0) 
  • 0にコードを変更する必要があります - >グレースケール画像
  • 1 - >カラー画像

また、試すことができます。

cv2.imread('test_big.png', cv2.IMREAD_GRAYSCALE)

最終行は次のとおりです:読み取られるイメージはグレースケールイメージですが、明示的に指定されるまで認識されません。あなたの場合、画像はグレースケール画像でしたが、カラー画像として宣言して以来、画像には3つのチャンネル(RGB)があると考えられていたため、後続の適応しきい値機能は実行されませんでした。

+0

'cv2.imread( 'test_big.png'、cv2.IMREAD_GRAYSCALE)'、より読みやすく、自己文書になります。 – Yigal

+0

@Yigal Done !!編集された!! –

関連する問題