python opencvで画像処理をしているのですが,全pixelにアクセスしてグレイスケール画像の明るさをfor文を用いて変えようとしています.
とりあえずresizeした画像(変数はnew_img)をfor文を使って新しい変数(new_img2)
に代入して同じ画像が,まず出るか検証したのですが,実行すると図1のような画像が出ます
発生している問題・エラーメッセージ
該当のソースコード
import cv2
import numpy as np
# 元となる画像の読み込み:imread('filename')
img = cv2.imread('apple.jpg',cv2.COLOR_BGR2GRAY)
#グレイスケールに変換:imread('filename', cv2.IMREAD_GRAYSCALE)
gry = cv2.imread('apple.jpg', cv2.IMREAD_GRAYSCALE)
#指定した画素値にアクセス:BGR画像の画素値は青,緑,赤の色成分の値の配列,グ#レースケール画像の画素値は明るさの値を返します.
px = gry[100,100]
print(px)
new_img = cv2.resize(gry, (256,256))
height = new_img.shape[0]
width = new_img.shape[1]
new_img2 = np.zeros((256, 256))
cv2.imshow('Before change', new_img)
#####################
for i in range(256):
new_img2[i] = new_img[0,:]
#####################
cv2.imshow('After change', new_img2)
#waitKey(0);何かしらのキー入力まで待機
cv2.waitKey(0)
#destroyAllWindows():ウインドウの破棄
cv2.destroyAllWindows()
#imwrite('保存時のファイル名', 保存画像の変数)
cv2.imwrite('apple_gry.jpg',new_img)
cv2.imwrite('apple_gry2.jpg',new_img2)
試したこと
すべての行の配列を出して元の画像と比較しましたが,変わっているところはありませんでした
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/13 03:17
2019/06/13 03:51
2019/06/13 04:11
2019/06/13 23:49