Python版OpenCVを使用して、画像の二値化を行っています。普通の二値化ではなく、cv2.THRESH_TOZEROのメソッドを使ったもので、閾値未満は輝度が0に、閾値以上は元の値を保持するものです。
この二値化を行った画像の輝度ヒストグラムを作成してみたところ、2つの方法(matplotlibの関数を利用したものと自分で作ったプログラム)を行ってみたのですが、どちらの方法でも理論上のヒストグラムになりません。
というのも、理論上は輝度0にかなり多くの分布があり、輝度1閾値-1までは分布が0で、閾値以上は元の画像の輝度分布が続くはずなのですが、なぜか輝度010くらいまでなだらかに分布が下がり、閾値-5くらいから分布がなだらかに上がり始めるようなヒストグラムになっています。
なぜなのでしょうか?わかる方がいらっしゃいましたら、ご教授ください。
よろしくお願いいたします。
追記
コメントありがとうございます!画像フォーマットが非か逆方式のjpegだったことが原因だったらしいです。可逆方式のpngにしたところ解決いたしました!ありがとうございました!
回答1件
あなたの回答
tips
プレビュー