内核图片处理:图片出不来

Kernel Photo Processing : Image Can't Appear

我目前正在处理照片 ,它使用使用 python 处理过滤(内核)的 3D 矩阵。目前我的照片无法出现在地块上,它只是在地块上出现了一些青色点。我应该如何处理脚本才能使我的照片出现在情节中。谢谢你的回答。

import numpy as np
import matplotlib.pyplot as plt

im=plt.imread('NSX.jpg')
(dim_x,dim_y,dim_z)=im.shape
im1=np.pad(array=im, pad_width=[1, 1], mode='constant', constant_values=0)
im2=np.empty((652,1026,3))
ker1 = np.array([[1/9, 1/9, 1/9],
                [1/9, 1/9, 1/9],
                [1/9, 1/9, 1/9]])

def filtergambar():
    for m in range(0,dim_z):
        for i in range(1,dim_x-1):
            for j in range(1, dim_y-1):
                im_entry=im[i-1:i+2, j-1:j+2]
                div=np.sum(im_entry*ker1)
                im2[i,j,m]=div
    return im2
filtergambar()
plt.imshow(im2.astyoe('uint8'))
plt.gray
plt.show

已经有一些现有模块可以帮助您处理图像,例如 ndimage 和 scikit-image 等等。

这是您使用 ndimage 的示例:

import numpy as np
import matplotlib.pyplot as plt
import scipy.ndimage as nd

im=plt.imread('NSX.jpg')

ker = 1/9 * np.ones((3, 3, 1))
im2 = nd.convolve(im, ker, mode='constant')
plt.imshow(im2.astype('uint8'))