百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

我做了个 AI 神器,模糊图片变清晰,4倍无损放大,极简且好用

csdh11 2025-02-28 15:22 13 浏览

乔布斯说得对,用户不需要你给出几百个选择,而是需要一个对的选择。

极简不是一种美学,而是产品设计的最高境界。

一,找图难

图片,是社交媒体最重要的内容类型之一。

不过因为服务器负载,以及高昂的带宽成本,开发者不约而同地对图片进行了压缩。

想要互联网上下载到高清无损的原图,进而修改,编辑,可以说是困难重重,难上青天。

高清原图的需求非常广,不管是用作壁纸,社交媒体分享,制作商品图,用作视频素材,都有模糊图片变清晰的需求。

在过去,这个问题并没有很好的解决方案。

PS 慢修,费时费力;闲鱼请人,2元一张;网站处理,花钱还泄漏隐私;手机AI,等于搞笑。

普通软件,顶多加个锐化平滑,不能做到真正的修复。

二,开源的 AI 大模型:Real-ESRGAN

直到 AI 大模型的出现,这个问题迎来了真正的解决方案。

很多人都不知道,目前有一个开源的图片超分模型Real-ESRGAN,它可以把模糊图片放大4倍清晰度,同时保持细节不变。

而且最关键的是,它的代码是开源的,支持本地电脑部署,而且支持Intel/AMD/Nvidia显卡,兼容性拉满。

这就意味着我们只要有一台性能不错的电脑,任意显卡,哪怕是集成显卡,都可以可以永久免费的使用它。

唯一的问题是,它需要python环境,需要安装依赖,需要用命令行调用,这就基本劝退了99%的普通人。

那怎么办?不用担心,这些问题我都解决好了。

三,我写了一个 AI 工具:JPGX4

基于Real-ESRGAN开源的AI模型,我用Python写了一个图形化的前端程序:JPGX4。

它集成了所有的依赖、模型,把用户看不懂的命令行,转化为所有人都能看懂的图形交互界面。

界面是我推崇的极简风格,只保留尽可能少的设置。普通人完全没有学习成本,一眼就能看懂。

JPGX4的核心功能是通过调用图片超分AI大模型,把一张图片放大4倍清晰度,同时保留所有的细节纹理。

具体有多强大呢?下面我在网上下载了3张模糊的图片,做个对比测试

效果只能说:非常炸裂。

尤其是针对二次元的动漫、表情包,效果非常棒。如果是现实的人脸照片,效果就不是特别完美,这需要用到更特化的模型。

为了方便起见,我对多余代码、模型进行了删减。目前 1.0 版本的总体积,只有83MB,开箱即用,放在U盘里都能随时带走——当然,随着后续版本更新,体积可能会略微增加。

最重要的是,作为果粉,我非常理解果粉们对隐私的看重。JPGX4不内置联网更新,断网也可使用,版本更新通过网盘推送——你可以自由选择。

尽管程序本身已经足够简单,但为了让所有人都能理解,下面简单介绍一下JPGX4的使用方法。

四,JPGX4使用方法

不需要教程的,才是好工具。在设计JPGX4的时候,易用性和稳定性,是我最优先考虑的目标。

我希望它可以做到不需要用户思考,用最短的路径解决问题,让普通人也能吃到AI的红利。

1,解压与安装

下载好JPGX4压缩包解压,要注意路径中不要有中文,这会影响路径正确性,导致无法运行。

解压后是一个JPGX4文件夹,打开文件夹后,即可看到“JPGX4”的exe文件,打开它即可运行。

2,导入图片

打开程序,点击导入,输入你想要变清晰的图片即可。图片导入后会出现预览窗口,可以直观确认图片是否选择正确。

为了方便工作室环境,我已经加入了批量处理图片的功能。一次最少一张,最多可选择99张,相信可以满足大多人的需求。

3,导出图片

导出图片的时候,你可以选择一个输出的文件夹,把AI处理后的图片存储到该位置。如果没有设置,则默认会存到JPGX4自带的的output文件夹。

在窗口下方,你可以选择jpg、png、webp三种格式,png是无损。你可以指定导出图片的位置,处理后的图片,文件名是“原名字_AI”,不覆盖原文件,且方便辨认。

4,设置模型参数

JPGX4提供了两个模型,高清模型适用于所有图片的放大,动漫模型转为二次元图片优化。如果是表情包,漫画图片,建议选择动漫模型。

Tile参数默认为0,这个参数的原理,是将图片分割处理,提高效率。数值越大,速度越快,对显存要求越高。举例:2GB以下低端显卡,推荐设置为0、32;4GB显存中端显卡,推荐设置为128;顶配显卡,直接设置为512。

TTA最高画质,开启选项后,可以减少细节损失,让输出的图片更加的真实高清。但会显著增加处理时间,增加至2-4倍,有需要再开启。

5,运行模型

在所有参数设置好后,你就可以点击立即运行来运行模型了。运行时会弹出命令行窗口,上面会显示单个任务处理的百分比进度,当数字到达100%,则图片处理完毕。

图片处理完后,会出现一个弹窗告诉你图片存放的位置。运行模型时,若程序未响应,这是因为因为大模型非常吃内存、GPU资源。变卡是正常现象,耐心等待即可。

不管你导入的图片是高清还是模糊,它都会让图片放大4倍清晰度,体积翻5-10倍。假如你上传的是200KB图片,处理后的图片应该是1MB~2MB之间。

如果是10MB的图片,处理后就成50MB~100MB了。

五,总结,JPGX4获取方式

当时的初衷是在找壁纸的时候,找不到高清原图,因此想找一个模糊图片变清晰的工具。在找了很多方法后,我发现要么是要收费,要么效果不如预期,要么就是不能批量处理。

这个痛点实在是太痛了,于是我决定干脆自己开发,集成开源AI大模型,让它简单易用,同时又能批量处理。用了一个月之后,发现它确实太好用了,基本上就是神器。

因此,我花了点时间优化,整合成一个易于大众使用的极简小工具,无偿分享给大家。

JPGX4 获取方式:夸克网盘分享

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...