我目前正在制作照片

,它使用使用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发布于 2021-06-24 20:17:51
已经有一些现有的模块可以帮助你处理图像,比如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'))https://stackoverflow.com/questions/68082432
复制相似问题