使用keras.preprocessing.image load_img时,图像的背景变黑的背景

发布于 2025-01-23 02:51:48 字数 818 浏览 0 评论 0原文

我的代码:

from keras.preprocessing.image import load_img, img_to_array
from keras.preprocessing.image import smart_resize
import numpy as np

#load pretrained model
os.chdir('path/to/dir')
# model = load_model(model_path)
input_imagesX = natsorted(os.listdir())
for idx, v in enumerate(input_imagesX):
    
    img = load_img(v,color_mode='rgb')
    img = img_to_array(img)
    img = tensorflow.image.resize(img, (128,128))
    # img = np.expand_dims(img, axis=0)
    plt.imshow(img)
    plt.grid(None)
    plt.show()

在这里,PNG的透明背景变成黑色,填充会变形。尝试了几个骇客,似乎没有任何作用! 有人可以帮忙吗?

原始图像

我获得的图像

my code:

from keras.preprocessing.image import load_img, img_to_array
from keras.preprocessing.image import smart_resize
import numpy as np

#load pretrained model
os.chdir('path/to/dir')
# model = load_model(model_path)
input_imagesX = natsorted(os.listdir())
for idx, v in enumerate(input_imagesX):
    
    img = load_img(v,color_mode='rgb')
    img = img_to_array(img)
    img = tensorflow.image.resize(img, (128,128))
    # img = np.expand_dims(img, axis=0)
    plt.imshow(img)
    plt.grid(None)
    plt.show()

Here, the transparent background of the png turns black and the fill gets distorted. Have tried a couple of hacks, none seems to work!
Can someone please help?

original image

image i get as the output

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

得不到的就毁灭 2025-01-30 02:51:49

有些图像也可能具有Alpha通道。请在下面找到如何加载alpha通道

img = load_img("/content/transparent.png",color_mode='rgba')
img = img_to_array(img)
img = tensorflow.image.resize(img, (128,128))
img=tensorflow.cast(img,tensorflow.int32) 
plt.imshow(img)
plt.grid(None)
plt.show()

输出:

”“在此处输入图像说明”

让我们知道问题是否仍然存在。谢谢!

Some images might also have an alpha channel. Please find below how to load the alpha channel

img = load_img("/content/transparent.png",color_mode='rgba')
img = img_to_array(img)
img = tensorflow.image.resize(img, (128,128))
img=tensorflow.cast(img,tensorflow.int32) 
plt.imshow(img)
plt.grid(None)
plt.show()

Output:

enter image description here

Let us know if the issue still persists. Thanks!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文