某些电脑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")
相关推荐
fire已经安装仍报错ModuleNotFoundError: No module named 'fire'
AttributeError: module 'socket' has no attribute 'SO_REUSEPORT'. sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
eSpeak NG语音生成器生成语音失败无法使用
AttributeError: module 'distutils' has no attribute '_msvccompiler'. Did you mean: 'ccompiler'
RuntimeError: Distributed package doesn't have NCCL built in
RuntimeError: use_libuv was requested but PyTorch was build without libuv support
triton.runtime.errors.OutOfResources: out of resource: shared memory, Required: 126978, Hardware limit: 101376. Reducing block sizes or `num_stages` may help
将python脚本.py文件编译为.pyd文件方法
最近更新

免费在线视频去水印工具方法
本次分享一个免费的在线视频去水印工具–记灵 这个在线工具目前是完全免费的,上传mp4视频文件,然后鼠标框选去水印区域,然后点击处理等待处理完成就可以了,操作非常简单。 这个去水印工具是采用打码的方式覆盖原水印区域的,并不是AI智...

即梦AI(可灵)视频制作9种电影级运镜提示词,小白秒变大导演
视频制作方式多种多样,想做出一个观感体验极佳的精彩视频,运镜效果少不了。这里整理了9种实用的电影级运镜方式,学会这些运镜小白也可以成为大导演。你可以将这些运镜效果用在即梦或可灵AI中视频生成的时候,提供了运镜参考关键词,如果不会写关键词的,...

带声音克隆功能的对话型文字转语音软件higgs-audio免安装一键启动整合包下载
higgs-audio是本月刚发布的一款非常强大的文字转语音工具,上线不到一个月就获得了5.9K个星,可以说是非常热门的项目了。这个软件可以实现文字转语音及声音克隆功能,不过可以实现这个功能的这类软件很多,higgs-audio只是说好一点...

本地离线翻译软件LibreTranslate免安装一键启动包下载
LibreTranslate是一款热门的免费本地离线翻译软件,无需联网,方便某些电脑无法联网但需要进行翻译的场景使用。我制作了最新版免安装一键启动整合包,下载解压即用。 LibreTranslate介绍 免费开源机器翻译 API,完全自托管...

抖音出品高质量声音克隆文字转语音合成软件MegaTTS3整合包下载
MegaTTS3是抖音团队联合国内其他大学研发的一款语音合成及声音克隆应用,可实现零样本语音克隆及富有情感的自然语音合成。我基于当前最新版制作了免安装一键启动整合包。 MegaTTS3介绍 MegaTTS 3 是字节跳动(ByteDance...

副业变现项目分享20250709期

有声读物制作软件audiblez整合包下载,将epub电子书转为m4b有声书
和大家分享一个方便快捷的有声书制作软件audiblez,audiblez可以将epub格式电子书快速转为m4b有声书,支持合成中文,英语,日语等八国语言语音,本地离线操作,不依赖云端服务。我基于最新版制作了免安装一键启动整合包。 audib...

百度夸克webdav服务+alist+RaiDrive,将网盘挂载为本地电脑硬盘方法教程
由于每天都要操作网盘不下十几次,频繁启动网盘比较麻烦。 使用百度夸克网盘的webdav服务可以将百度夸克网盘挂载到本地电脑上,就像操作本地电脑硬盘一样操作网盘,非常方便。我们以alist+raidrive为例演示。 首先打开百度网盘pan....

Unreal Engine 5恐怖游戏设计制作教程,从入门到精通从零开始完整项目开发详细讲解,中英文字幕
和大家分享一个以前收集的UE5虚幻引擎恐怖游戏开发教程,这是国外一个大神制作的视频教程,教程从零开始到制作出一款完整的游戏。内容讲解全面,如蓝图基础知识讲解、角色控制、高级交互系统、高级库存系统、物品检查、恐怖环境氛围设计、过场动画、AI系...

PDF/图片转markdown软件MonkeyOCR整合包,文档图片解析工具下载
MonkeyOCR是上个月刚发布的一款文档解析工具,可以将PDF文档或图片识别转换为markdown格式文件。官方测试显示性能极佳。我基于当前最新版制作了免安装一键启动整合包,支持批量操作,并降低了显卡要求。 MonkeyOCR官方介绍 M...