手把手带你修复老照片

2024-03-28 02:40
文章标签 手把手 修复 老照片

本文主要是介绍手把手带你修复老照片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你家里是否有很多带着故事的老照片呢?

随着时间的流逝,这些照片难免会变模糊,或者有了划痕,今天给大家介绍一种使用程序修复老照片的方法。

教程面向小白,对于有基础的人过程可能略显繁琐。

修复效果如下图所示:

is46Sp.png

is4GVU.png

我们需要在电脑中下载安装程序运行环境、修复程序、预训练模型、相关依赖等。这些资料在文末的资源包中都可以找到,且都已经搭建完成,可以直接使用,下载链接在文末。

步骤大概分几步:

  1. 安装 Anaconda
  2. 搭建虚拟环境
  3. 运行照片修复程序

Anaconda 是一款很方便的软件,我一般用来隔离不同的 Python 虚拟环境,考虑到大家的电脑中的环境可能会有一些问题,所以采用 Anaconda 中的 Python 虚拟环境来运行本次的程序。

接下来我们做详细介绍

1、安装 Anaconda

在安装包中找到 Anaconda 安装程序,右击选择以管理员身份运行。

is45Qy.png

一路点下一步,除了最后这个页面切记勾选第一项,然后点击 install 安装,耐心等待安装完成。

is4oC5.png

2、搭建虚拟环境

进入资源包,点击地址栏,输入 cmd,点击回车,进入命令行窗口。

is4sg8.png

在命令行窗口输入以下命令,点击回车,开始创建虚拟环境,耐心等待完成。

conda create -n fixPhoto python=3.6.13 -y
is4vLZ.png

显示以下界面,进行下一步

is4JUF.png

执行以下命令,激活刚刚搭建好的环境 fixPhoto

conda activate fixPhoto
is4KRH.png

执行以下命令,更新 pip

python -m pip install --upgrade pip

执行以下命令,安装需要的依赖,耐心等待安装完成

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
is4LSQ.png

安装完成

is4TjC.png

3、运行照片修复程序

新建一个文件夹,用来存放修复好的图片(放在其他地方也是可以的),比如 myresult

is4a6P.png

先将待修复图片放在一个文件夹内,然后在刚刚的命令行窗口中根据不同情况输入以下指令完成照片修复

之后需要再次修复图片,只需要激活虚拟环境,运行以下指令即可。

  • 没有裂痕的图像修复,也就是图片不清晰,可以用如下指令:

    python run.py --input_folder 待修复照片的绝对路径 --output_folder 输出文件夹的绝对路径 --GPU -1
    
  • 对于裂痕的图片,需要额外增加一个参数,指令如下:

    python run.py --input_folder 待修复照片的绝对路径 --output_folder 输出文件夹的绝对路径 --GPU -1 --with_scratch
    
  • 对于带有划痕的高分辨率图像,需要再多一个参数:

    python run.py --input_folder 待修复照片的绝对路径 --output_folder 输出文件夹的绝对路径 --GPU -1 --with_scratch --HR
    

举例

python run.py --input_folder C:\Users\admin\Desktop\Fix_Old-Photos\mytest --output_folder C:\Users\admin\Desktop\Fix_Old-Photos\myresult --GPU -1 --with_scratch --HR

注意:

我的演示电脑上没有安装 GPU,所以设定设备为 GPU -1,也就是使用 CPU,有条件的可以修改为 0、1、2,使用GPU速度更快。

如何获取文件夹绝对路径呢?

比如:我的待修复照片是在这里。

is41QX.png

鼠标右键点击,选择属性,位置选项的内容 稍作修改,就是其绝对路径。输出文件夹同理。

C:\Users\admin\Desktop\Fix_Old-Photos\mytest

is4Ylt.png

输入修复指令,点击回车运行指令,稍等片刻,等待完成修复。

修复完成。

is4qgJ.png

可以在指定的文件夹中找到修复好的图片,比如:

is4uLc.png

我们看看对比图,可以看到修复效果还是不错的。

is46Sp.png

is4GVU.png

下载链接在文末

下载后解压.zip压缩包即可,建议删除外部嵌套的文件夹后使用。

这篇关于手把手带你修复老照片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854214

相关文章

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

【视频教程】手把手AppWizard轻松制作一个emWin滑动主界面控制框架,任意跳转控制(2024-09-06)

现在的新版AppWizard已经比较好用,用户可以轻松的创建各种项目常规界面。 比如早期创建一个支持滑动的主界面框架,并且可以跳转各种子界面,仅仅界面布局和各种图片格式转换都要花不少时间,而现在使用AppWizard,可以说轻轻松松,毫不费力。 用户唯一要做的就是根据自己的芯片性能做一定的速度优化。 视频: https://www.bilibili.com/video/BV17Rp3eLE

六种msvcp110.dll丢失修复的方法分享,有效快速修复msvcp110.dll丢失

在日常使用电脑的过程中,我们可能会遭遇各种程序运行错误,其中“msvcp110.dll丢失”是一种非常常见的问题。这个问题通常发生在尝试启动某些程序时,系统会弹出一个错误消息,提示“程序无法启动,因为计算机缺少msvcp110.dll”,这可能会让用户感到困惑和无助。幸运的是,这个问题有多种解决方法,本文将指导你通过几种简单的步骤来修复“msvcp110.dll丢失”的问题,让你的程序回到正常运行

大模型的学习路线(非常详细)神仙级教程,手把手教会你

如果读者朋友不想深入学习大模型,则了解提示词的使用原则也可以了。要是既不想深入学习,又要做大模型相关的项目,则对于工程同学来说,学习RAG也能把大模型玩转起来(可参考:[大语言模型RAG落地方案]。下面的步骤写给想系统性学习大模型的朋友们。(后续打算写一个大模型学习系列,详细介绍相关知识点,欢迎关注) 先来一张整体结构图,越是下面部分,越是基础: 可以按以下步骤学习: 1. 理解基础概念

MyBatis-Plus 框架 QueryWrapper UpdateWrapper 方法修复sql注入漏洞事件

什么是漏洞? 漏洞是指软件、系统或网络中存在的安全弱点或错误,这些弱点可能导致系统遭受攻击或被不当使用。在计算机安全领域,漏洞通常源于编程错误、设计缺陷或配置失误。 对于对象关系映射(ORM)框架来说,漏洞通常指的是设计或实施中的安全问题,这些问题可能让应用程序面临SQL注入攻击的风险。 SQL 注入漏洞 如果ORM框架在执行SQL操作时没有正确过滤或转义用户输入,攻击者可以利用输入的恶意数据

【红日靶场】ATTCK实战系列——红队实战(一)手把手教程

目录 入侵网络的思路 一些概念 (1)工作组 (2)域 (3)账号 红日靶机(一) 网络结构 下载 配置web服务器的两张网卡 配置内网的两台机器(域控和域内主机) 渗透web服务器 外网信息搜集 (1)外网信息搜集的内容 (2)开始信息搜集(主要是利用工具) 漏洞利用 (1)漏洞利用的两种方式 (2)利用phpMyAdmin (3)开启3389端口远程桌面

《长得太长也是错?——后端 Long 型 ID 精度丢失的“奇妙”修复之旅》

引言 在前后端分离的时代,我们的生活充满了无数的机遇与挑战——包括那些突然冒出来的让人抓狂的 Bug。今天我们要聊的,就是一个让无数开发者哭笑不得的经典问题:后端 Long 类型 ID 过长导致前端精度丢失。说到这个问题,那可真是“万恶之源”啊,谁让 JavaScript 只能安全地处理 Number.MAX_SAFE_INTEGER(也就是 9007199254740991)以内的数值呢?

修复msvcp100.dll文件丢失的问题,如何高效率修复msvcp100.dll

在Windows操作系统中,msvcp100.dll是Microsoft Visual C++ 2010 Redistributable Package的一部分,它支持多种与C++库相关的关键功能。这个文件对于许多程序的正常运行非常重要。有时用户可能会遇到msvcp100.dll文件缺失的问题,这会导致某些程序无法启动或运行错误。本文将探讨一系列有效的解决方案,帮助用户修复msvcp100.dll

今天做了freemaker 导出word文档 的bug修复,解决 \n换行 问题

结合Freemaker导出文件 public void exportSimpleWord() throws Exception{// 要填充的数据, 注意map的key要和word中${xxx}的xxx一致Map<String,String> dataMap = new HashMap<String,String>();dataMap.put("username", "张三");dataMap.