1

このアルゴリズムを使用して、月の画像でラプラシアンシャープニングを実行しようとしています:

数式のイメージ

私はこの画像を変換しています:

元の画像

しかし、なぜこのような画像が表示されるのかわかりません:

出力画像

これが私のコードです:

import numpy as np

def readRawFile(name,row_size,column_size):
    imgFile = open(name,'rb')
    img = np.fromfile(imgFile, dtype = np.uint8, count = row_size * column_size)
    img = np.reshape(img,(-1,row_size))
    imgFile.close()
    return img

img = readRawFile("ass-3/moon464x528.raw", 464, 528)

width = img.shape[0]
height = img.shape[1]

img_pad = np.pad(img, ((1, 1), (1, 1)), 'edge')

w = np.array([1,1.2,1])

t1 = np.array([[0,-1,0],[-1,4,-1],[0,-1,0]])

edge_img = np.zeros((width, height))
edge_pad = np.pad(edge_img, ((1, 1), (1, 1)), 'constant')

for i in range(1,width-1):
    for j in range(1,height-1):
                
        edge_pad[i, j]=abs(np.sum((img_pad[i:i + 3, j:j + 3] * t1)*w))
        
        if edge_pad[i, j] < 0:
            edge_pad[i, j] = 0

out_img = img-edge_pad[1:edge_pad.shape[0]-1,1:edge_pad.shape[1]-1]
out_img.astype('int8').tofile("ass-3/moon-1.raw")

誰でも私を助けてもらえますか?

4

1 に答える 1