画像を特定方向(左斜め)に平滑化したいです。
画像全体の平滑化はできましたがこれを特定方向に平滑化することが出来ません。
行列は7*7でやりたいのですがこの場合のフィルタ処理のしかたがわかりません。
■■な機能を実装中に以下のエラーメッセージが発生しました。
該当のソースコード
Python
ソースコード
import cv2
import numpy as np
img_src = cv2.imread("./gazou.jpg", cv2.IMREAD_GRAYSCALE)
h = img_src.shape[0]
w = img_src.shape[1]
img_dst = np.zeros((h,w),np.uint8)
kernel = [[1/9,1/9,1/9],[1/9,1/9,1/9],[1/9,1/9,1/9]]
for j in range(1,h-1):
for i in range(1,w-1):
img_dst[j,i] = \
kernel[0][0]*img_src[j-1,i-1] + kernel[0][1]*img_src[j-1,i ] + kernel[0][2]*img_src[j-1,i+1] +
kernel[1][0]*img_src[j ,i-1] + kernel[1][1]*img_src[j ,i ] + kernel[1][2]*img_src[j ,i+1] +
kernel[2][0]*img_src[j+1,i-1] + kernel[2][1]*img_src[j+1,i ] + kernel[2][2]*img_src[j+1,i+1]
cv2.imshow( "Original", img_src )
cv2.imshow( "Processed", img_dst )
cv2.waitKey()
cv2.destroyAllWindows()
試したこと
10行目を[[1/49,1/49,1/49,1/49,1/49,1/49,1/49],
[1/49,1/49,1/49,1/49,1/49,1/49,1/49],[1/49,1/49,1/49,1/49,1/49,1/49,1/49],[1/49,1/49,1/49,1/49,1/49,1/49,1/49],[1/49,1/49,1/49,1/49,1/49,1/49,1/49],[1/49,1/49,1/49,1/49,1/49,1/49,1/49],[1/49,1/49,1/49,1/49,1/49,1/49,1/49]]
にして無理やり平滑化できないかしてみたが画像が全体的に暗くなった。
使っているツールはspiderとanacondaです。
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/07 10:36
2019/11/14 03:33 編集
2019/11/17 19:12
2019/11/17 19:12