0
ピクセル値がしきい値を超えているかどうかを確認するための基本的なしきい値処理プログラムを作成しようとしています。 (私の場合は128をしきい値に設定します)128より大きい場合は、そのピクセル値を128に設定したい場合は0に設定します。このロジックをダウンさせる際に問題が発生しています。エラーメッセージが表示されるIndexError:スカラー変数に対するインデックスが無効です。どこが間違っていますか?入力画像のしきい値処理
import pylab as plt
import matplotlib.image as mpimg
import numpy as np
img = np.uint8(mpimg.imread('abby.jpg'))
img = np.uint8((0.2126* img[:,:,0]) + \
np.uint8(0.7152 * img[:,:,1]) +\
np.uint8(0.0722 * img[:,:,2]))
threshold = 128
for row in img:
for col in row:
if col[0] > threshold:
col[0] = threshold
else:
col[0] = 0
plt.xlim(0, 255)
plt.hist(img,10)
plt.show()
トレースバックを表示できますか?つまり、あなたのソースのどのコード行でエラーが発生しているのでしょうか。ネストされたループのインデントもオフです。 –
こんにちは、インパクトのあるインデントの理由は、私がそうしたときに、コーディングとその同期が外れていることをコピーして貼り付けることによるものです。ここでトレースバックのトレースバック(最新の最後の呼び出し): ファイル "/Users/Micheal/PycharmProjects/untitled1/input.py" の場合col [0]>しきい値: IndexError:スカラーへの無効なインデックス変数。 –