内核图片处理:图片出不来
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'))
我目前正在处理照片
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'))