実現したいこと
グレースケール画像の画素値を0~20の部分は全部0、21~40の部分は21など、画像の画素値を読み込んだうえで指定の値に変更したい
前提
コラボでpythonを利用し、読み込んだグレースケール画像の画素値を自在に変更したいです。
画像は256×256スケールのものを使用しています。
発生している問題・エラーメッセージ
出力した画像の画素値が変更されていない
該当のソースコード
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
%matplotlib inline
import pywt
import cv2
import numpy as np
img = cv2.imread('woman.bmp',cv2.IMREAD_GRAYSCALE)
d=0
for a in range(256):
for b in range(256):
c = img[a,b]
for e in range(256):
if c == d:
img[a,b]=200
d += 1
cv2.imwrite("Rewoman.bmp",img)
試したこと
初めは、閾値を設けて階調変更しようとしたが、変わってないように思えたので、確認のため以下のソースコードのように、画素値を全面200にしようとしてみたが、出力画像は元画像と変化なく、画素値の変更自体が実現できていないことが発覚した。
for a in range(256):
for b in range(256):
の後に
img[a,b]=100
と書くと出力画像は全面灰色になり、色を変えることはできたが、画素値が0~10の部分の画素値を0、11~20は11など指定の画素値の部分のみ変更するという実現したいことはできていない。
###よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー