gpt4 book ai didi

python - 用NumPy填充图像会全黑

转载 作者:行者123 更新时间:2023-12-02 17:05:19 25 4
gpt4 key购买 nike

我使用NumPy创建一个新的2D数组,其边界为0,内部为原始图像的数组。我打印了新数组,这就是我所期望的。但是当我绘制它时,它全都是黑色的。

我尝试了for-loop和NumPy,这没用。

import cv2
import numpy as np

path = 'test.jpg'
img = cv2.imread(path,0)

print(img)
height,width = img.shape # 440 * 455

new_arr = np.zeros((height+2,width+2), dtype = int)

#for i in range(height):
# for j in range(width):
# new_arr[i+1][j+1] = img[i][j]

new_arr[1:height+1,1:width+1] = img
print(new_arr)


cv2.imshow('new image',new_arr)
cv2.waitKey(0)
cv2.destroyAllWindows()

原始图片在这里:



我希望图像具有黑色边框(仅1像素),内部是进行中间值滤波的原始图像,但实际输出是黑色图像。

最佳答案

不确定您如何获得黑色图像,因为您的代码应引发错误。您需要在适当的命名空间(dtype)中设置np.值,并且该值应为uint8:

import cv2
import numpy as np

path = 'test.png'
img = cv2.imread(path,0)

height,width = img.shape

new_arr = np.zeros((height+2,width+2), dtype = np.uint8)

new_arr[1:height+1,1:width+1] = img
print(new_arr)

cv2.imshow('new image',new_arr)
cv2.waitKey(0)
cv2.destroyAllWindows()

Please note that the image you have given is png, not jpg. Code tested on that image.

关于python - 用NumPy填充图像会全黑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55892100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com