某些电脑Python应用在生成图片时发生错误,生成了纯黑图片,并输出报错信息如下:
site-packages\rembg\sessions\base.py:52: RuntimeWarning: invalid value encountered in divide
im_ary = im_ary / np.max(im_ary)
site-packages\rembg\sessions\u2net.py:44: RuntimeWarning: invalid value encountered in cast
mask = Image.fromarray((pred * 255).astype(“uint8″), mode=”L”)
有些情况是代码问题,有些情况是原始图像问题,上面提到两个问题,
1、rembg 库中的除零问题 (invalid value encountered in divide):
提示图像数组中的最大值为零,导致出现无效除法操作。处理的图像数据中存在异常值,就是我们看到的结果全黑图像。
解决方案:可以在进行除法操作之前检查 np.max(im_ary) 是否为零,并在此情况下跳过除法操作,或确保输入图像数据的质量。
原始代码:
im_ary = np.array(im)
im_ary = im_ary / np.max(im_ary)
修改后的代码:
im_ary = np.array(im)
# 检查 np.max(im_ary) 是否为零
max_val = np.max(im_ary)
if max_val > 0:
# 只有在最大值大于零时才进行归一化
im_ary = im_ary / max_val
else:
# 如果最大值为零,可以跳过归一化或者采取其他处理措施
im_ary = np.zeros_like(im_ary)
2、rembg 库中的类型转换问题 (invalid value encountered in cast):
提示在进行数组转换为 uint8 类型时遇到了无效值。这可能是因为模型输出的 pred 数组中包含了超出 0-1 范围的值,导致在转换时发生问题。
解决方案:在转换前处理无效值及对 pred 进行剪裁或归一化处理,以确保其数值在合理范围内(如 [0, 1] 之间)
原代码为:
pred = ort_outs[0][:, 0, :, :]
ma = np.max(pred)
mi = np.min(pred)
pred = (pred - mi) / (ma - mi)
pred = np.squeeze(pred)
mask = Image.fromarray((pred * 255).astype("uint8"), mode="L")
修改后的代码:
pred = ort_outs[0][:, 0, :, :]
ma = np.max(pred)
mi = np.min(pred)
pred = (pred - mi) / (ma - mi)
# 使用 np.nan_to_num 替换 NaN 和无穷大的值
pred = np.nan_to_num(pred, nan=0.0, posinf=1.0, neginf=0.0)
# 将数值剪裁到 [0, 1] 范围
pred = np.clip(pred, 0, 1)
pred = np.squeeze(pred)
mask = Image.fromarray((pred * 255).astype("uint8"), mode="L")
相关推荐
safetensors_rust.SafetensorError: Error while deserializing header: HeaderTooLarge
'VideoFileClip' object has no attribute 'set_audio',moviepy最新音频视频合并方法
torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.88 GiB. GPU 0 has a total capacity of 44.40 GiB of which 1.59 GiB is free. Including non-PyTorch memory,
pytorch加速下载国内镜像源地址
Floating point exception (core dumped)解决方法
All ufuncs must have type numpy.ufunc. Received (, , )
DLL load failed while importing flash_attn_2_cuda: 找不到指定的程序。
ValueError: The output_attentions attribute is not supported when using the attn_implementation set to sdpa. Please set it to 'eager' instead.
最近更新

browser-use浏览器任务全自动化AI助手windows电脑版一键启动整合包
本次再和大家分享一个非常牛逼的AI助手软件:browser-use,别问哪里牛逼,反正很多人都在用,社区starts高达72.8K,火遍全球的deepseek 100K,browser-use 72.8K,就问你火不火。之前我也分享过其它类...

FlashVSR低分辨率模糊视频高清放大工具整合包v1.1下载,免安装一键启动
FlashVSR-一款高性能可靠的视频超高分辨率放大工具。迈向基于扩散的实时流式视频超分辨率——一种高效的单步扩散框架,用于具有局部约束稀疏注意力和小型条件解码器的流式VSR。 FlashVSR官方介绍 扩散模型最近在视频修复方面取得了进展...

VibeVoice:富有表现力的长篇多人对话语音合成工具整合包下载
VibeVoice是微软开发的一款富有表现力的长篇多人对话语音合成工具。支持1-4个发音人,支持声音克隆自定义音色合成语音,我制作了最新的本地免安装一键启动整合包及云端在线版。 VibeVoice介绍 VibeVoice:一种前沿的长对话文...

多图编辑人物一致性图片合成处理工具Qwen-Image-Edit-2509整合包下载,人物换装换姿势动作软件
Qwen-Image 是一个功能强大的图像生成基础模型,能够进行复杂的文本渲染和精确的图像编辑。Qwen-Image-Edit-2509是Qwen-Image-Edit的月度更新版本,增加了多图编辑和单图一致性生成功能。 Qwen-Imag...
摸鱼神器windows电脑隐藏任务栏软件图标工具rbtray下载
本次和大家分享一个摸鱼神器rbtray。 windows电脑软件运行的时候会在屏幕底部的任务栏上有一个软件图标,如果你开了哪个软件又不想被别人看到你正在运行这个软件的话,那么这个神器rbtray就非常适合你了。 rbtray可以快速将软件图...

人物动作迁移及视频人物替换软件Wan2.2-Animate-14B整合包下载,动作模仿视频换主体工具在线一键启动
本次和大家分享一个非常强大的动作模仿及视频人物替换工具Wan2.2-Animate-14B,Wan-Animate接受一个视频和一个角色图像作为输入,并生成一个动作模仿或人物替换的视频,视频自然流畅,可玩性非常高。 Wan2.2-Anima...

无限长度的数字人对话视频生成软件InfiniteTalk整合包,图像转视频、视频配音对口型工具
InfiniteTalk是一款发布不久的数字人视频制作软件,软件可以通过音频驱动将一张图片合成为一段视频,或是将视频与音频整合成一段新视频,实现音频唇形同步,是一个非常强大的对口型工具。 InfiniteTalk官方介绍 我们提出了一种新颖...
UV包管理器用法基础教程
UV是一个用 Rust 编写的高性能工具,旨在替代 Python 传统的包管理工具链,速度比 pip 和 Conda 快数十甚至上百倍。 安装 uv 你可以通过一条命令安装 uv: 安装后,...

一句话编辑图片工具OmniGen2整合包下载,输入文本快速P图
和大家分享一个高效强大的一句话P图软件OmniGen2,这个软件可以通过输入一段描述词然后直接对图片内容进行修改,就像PS修图一样,但是操作起来更简单方便。我基于当前最新版本制作了windows版免安装一键启动整合包。 OmniGen2官方...

Wan2.2-S2V-14B:音频驱动图片转视频生成本地整合包及在线一键启动
Wan2.2-S2V-14B是阿里通义团队开源的一个视频生成模型,可以通过音频驱动将图片合成为一段人物讲话视频,人物讲话内容就是音频素材内容。同时支持cosyvoice声音克隆的文字转语音合成。 Wan2.2-S2V-14B官方介绍 Wan...



