前提・実現したいこと
画像の各画素に対して任意の計算を行い、その結果をグレースケール画像として取得したいです。
発生している問題・エラーメッセージ
単純に以下のようにfor文で値を取得して計算していけば良いと思っていたのですが、各画素にアクセスするのは推奨されないと知りました。
python3
1img = cv2.imread("hoge.png") 2for x in range(640): 3 for y in range(480): 4 value = img[x,y] 5 value[0] = value[0] + 100 # 例えば 6 img[x,y] = value 7
そこで、どのような実装をするとよいのでしょうか?
追加
上記では
python3
1 value[0] = value[0] + 100 # 例えば
と記載してしまいましたが、正確には、
python3
1 value[0] = a(定数) * value[0] + b(定数) 2 if value[0] > c(定数): 3 value[0] = d(定数) - value[0]
という計算を行いたいです。情報が不足しておりすみません。
fourteenlength様やukyoda様にコメント頂いた方法で1行目の処理は実現可能と理解しましたが、
2行目のif等を各画素に対して行うにはどのような方法がありますでしょうか。
よろしくお願いします。
「推奨されない」とはどこで得た情報ですか?
ふつう何かを推奨しないときは代替の方法を示すものですが、そこには何か書かれてはいませんでしたか?
回答3件
あなたの回答
tips
プレビュー