前提・実現したいこと
RGB画像にガウシアンノイズを加え、特徴量画像を抽出し、ヒストグラム平坦化をした画像を得ようとしています。
後々、この関数をfor文で繰り返しで回せるようにします。
発生している問題・エラーメッセージ
_src.type() == CV_8UC1 in function 'equalizeHist'
該当のソースコード
ソースコード import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('*.jpg') img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #ノイズ付加 noise = np.random.normal(0,0.74,np.shape(img)) img = img + np.floor(noise) img = np.clip(img,0,255) img = img.astype(np.uint8) #特徴量抽出 k1 = 0 k2 = 1 k3 = -1 kernel_1 = np.array([[k1], [k2], [k3]]) img = cv2.filter2D(img, cv2.CV_32F, kernel_1)+128 img = np.clip(img,0,255) img = img.astype(np.uint8) #ヒストグラム平坦化 img = cv2.equalizeHist(img) plt.imshow(img) plt.show()
試したこと
img = cv2.imread('*.jpg',0)のような変換をしたいのですが色々処理した後のヒストグラム平坦化の前の画像を変換するにはどうすれば良いかわかりませんでした。
補足情報(FW/ツールのバージョンなど)
python3.6.12
本来はノイズ付加、特徴量抽出、ヒストグラム平坦化はそれぞれ自作関数として定義しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。