AnimeGANv2复现【动漫风格迁移】
前几天,我看到了一篇关于AnimeGANv2复现的动漫动漫博客,觉得这个项目非常有趣,源码源码因此决定进行一次复现。线观在进行复现的百年百年过程中,我遇到了一些问题,动漫动漫响应式editor源码现在我将这些问题分享给大家。源码源码
项目获取的线观方式有两种:首先,你可以通过Git Bash将代码克隆下来,百年百年或者直接在GitHub上下载压缩包并保存。动漫动漫
为了搭建环境,源码源码我使用了Python社区版、线观PyTorch、百年百年CUDA、动漫动漫cudnn以及Anaconda。源码源码以下是具体的配置步骤:
1. 首先下载并安装Anaconda,网上有许多教程可以参考。
2. 创建一个新的虚拟环境。
3. 下载适用于你电脑的CUDA和cudnn版本。
4. 访问PyTorch官网获取对应版本的安装命令。
5. 打开Anaconda Prompt,输入activate [你的环境名称]激活环境,然后输入安装PyTorch的命令。
6. 接着,在Anaconda Navigator中找到新创建的环境,并安装OpenCV。
7. 安装Python社区版后,妖信号源码打开文件。
配置完成后,我们就可以进行项目运行了。在博客中提到可以直接输入命令,但在实际操作中我遇到了一些问题:
1. 大小问题,博客中没有明确提及这一点。代码并未对图像进行预处理,我最初以为代码中包含了这个步骤,结果却因为大小过大而导致显存不足。越大,需要的显存越多。因此,在输入时需要进行裁剪(如果你的预算允许的话)。如果仍然遇到显存不足的情况,建议使用CPU。
2. 输入命令时,需要指定目录,这里的目录指的是文件夹而非单个图像。
3. 模型文件的路径在源码中默认存在一些问题,代码中的默认路径并不存在,所以需要更改所有路径。模型文件共有四个权重文件,你可以根据个人喜好选择使用。
建议大家先进行初步的配置并尝试运行,避免每次遇到问题都需重新配置,这样会比较麻烦。溯源码龙牙盏
我复现的结果如下:
原:...
处理后的:...
总体而言,这个项目非常有趣,我计划后续对视频进行处理,并对代码进行优化。如果有任何问题,欢迎在评论区留言。这篇文章使用了Zhihu On VSCode进行创作和发布。
动漫文件中的BIG5和GB是什么意思?
动漫文件中的BIG5和GB分别代表两种中文编码标准。
BIG5,正式名称为《大五码》,是使用繁体中文(正体中文)社区中最常用的电脑汉字字符集标准,共收录,个汉字。BIG5源码系以繁体中文字符集作为编码的基础,对繁体中文字符进行系统的整理与分类,其共收字,个,并不包括其他如标点、符号、数字、英文等字符。其编码范围从0x至0xFEFE,共使用,个编码空间中的,个编码。
而GB,即GB,又称为GB-,是中国国家强制标准《信息交换用汉字编码字符集·基本集》的代号,由中国国家标准总局发布,一点米源码年5月1日开始实施,是中国国家强制标准。它共收录个汉字和非汉字字符,其中汉字包括一级常用汉字个,二级次常用汉字个;非汉字字符包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母等。其编码范围从0xA1A1至0xF7FE,共使用,个编码空间中的,个编码。
在动漫文件中,这两种编码标准可能会被用来处理中文字符,确保在不同的设备和系统中都能正确显示。不同的编码标准可能会导致文件大小和兼容性上的差异,因此在处理或分享动漫文件时,了解并选择合适的编码标准是很重要的。
总的来说,BIG5和GB都是用于处理中文字符的编码标准,它们在动漫文件中可能会用于确保中文字符的正确显示和处理。对于涉及中文的动漫制作和分享,选择合适的编码标准是非常关键的。
樱花动漫网站如何下载视频? - 知乎
打开樱花动漫网站,使用Google Chrome或其他浏览器,点击F进入开发者模式。在页面中找到包含视频链接的红框部分,使用右键点击并选择“复制”,打赏雷台源码然后复制链接。在链接中找到以"vid="开头的部分,去掉"vid="并粘贴到浏览器地址栏中,即可直接访问视频页面。
对于不会编程的用户,此过程可能较为繁琐。而对于熟悉爬虫的用户,只需在代码中找到包含关键词"vid"和"mp4"的特定位置,就能快速获取视频链接。
对于安卓用户,某些浏览器可能已内置下载功能,如小米浏览器,可直接在视频播放页面的右下角找到下载按钮。苹果设备用户则可能需要自行寻找替代方案。
补充说明,上述方法针对PC端操作,手机端的下载流程可能有所不同。对于Python编程初学者,使用Python进行网页爬取可能更为便捷。即便本人使用Matlab编程,也推荐使用Python进行网页爬取,因为Python在处理此类任务上速度更快。
使用Matlab进行网页爬取的步骤如下:
1. 打开网页,使用右键查看源代码,通常情况下,直接查看源代码并不能找到下载链接。
2. 分析源代码,搜索与下载链接相关的关键信息。跨域连接的路径通常以"/playdata/"开头,这可能是唯一值,无需过多考虑。
3. 点击连接后,网页路径可能自动添加额外信息,如"/playdata//"。在复制链接时,需要手动添加这部分信息。
4. 此时,视频下载链接就位于当前页面中。对于特定动漫,链接往往包含多集信息,如gss/quan所示的次数对应集数数量。
接下来,编写Matlab代码进行自动下载。使用正则表达式可提高效率,但本文采用头尾判断方式,以确保代码的简洁性和可读性。
使用代码实现如下:
初始化Matlab环境,开始计时。
设置网页链接,可随意选择任意播放页面的链接。
读取网页源代码。
查找"playdata/"关键词的位置,去除页面头部信息。
查找">"关键词的位置,去除页面尾部信息。
组合正确的跨域地址。
读取跨域网页源代码。
查找"//"关键开头位置,以及"$flv"关键结尾位置,以确定下载链接。
根据集数循环,记录每集的下载链接。
输出所有链接并记录总时间。
运行结果表明,该方法执行速度较快,仅需几秒钟即可完成多个链接的获取。测试结果显示,对于约部动漫,该方法均能正确获取链接。若发现不能下载的动漫,应考虑是特定情况导致的问题,而非方法本身存在问题。
使用其他编程语言实现此功能时,需遵循类似的步骤和逻辑。制作自动化软件以实现批量下载,将极大提高效率。
在实际操作过程中,需要注意以下两点:
1. 部分链接可能使用"/libraries/lot...
NPM
调用loadAnimation
vue-lottie
也可以在vue中使用lottie
loadAnimation参数
container
用于渲染动画的HTML元素,需确保在调用loadAnimation时该元素已存在
renderer
渲染器,可选值为'svg'(默认值)/'canvas'/'html'。svg支持的功能最多,但html的性能更好且支持3d图层。各选项值支持的功能列表在此
loop
默认值为true。可传递需要循环的特定次数
autoplay
自动播放
path
JSON文件路径
animationData
JSON数据,与path互斥
name
传递该参数后,可在之后通过lottie引用该动画实例
rendererSettings
可传递给renderer实例的特定设置,具体可看
Lottie动画监听
Lottie提供了用于监听动画执行情况的事件:可使用addEventListener监听事件
控制动画播放速度和进度
可使用anm.pause和anm.play暂停和播放动画,调用anm.stop则会停止动画播放并回到动画第一帧的画面。
使用anm.setSpeed(speed)可调节动画速度,而anm.goToAndStop(value, isFrame)和anm.goToAndPlay可控制播放特定帧数,也可结合anm.totalFrames控制进度百分比,比如可传anm.totalFrames - 1跳到最后一帧。
这样的好处是可以把相关联的JSON文件合并,通过anm.goToAndPlay控制动画状态的切换,如下图中一个JSON文件包含了2个动画状态的数据:
资源
JSON文件里assets设置了对的引用:
若想统一修改静态资源路径或者设置成绝对路径,可在调用loadAnimation时传入assetsPath参数:
功能支持列表
即使用bodymovin成功输出了JSON文件(没有报错),也会出现动效不如预期的情况,比如这是在AE中构建的形象图:
但在页面中渲染效果是这样的:
这是因为使用了不支持的Merge Paths功能
因此对设计师而言,创建Lottie动画和往常制作AE动画有所不同,此文档记录了Bodymovin支持输出的AE功能列表,动画制作前需跟设计师沟通好,根据动画加载平台来确认可使用的AE功能。
尽量遵循官方文档里对设计过程的指导和建议:预览效果
由于以上所说的功能支持问题会导致输出动画效果不确定性,设计师和前端之间有个动画效果联调的过程,为了提高联调效率,设计师可先进行初步的效果预览,再把文件交付给前端。
方法1:输出预览HTML文件
渲染前设置所要渲染的文件
勾选☑️Demo选项
在输出的文件目录中就可找到可预览的demo.html文件
方法2:LottieFiles分享平台
把生成的JSON文件传到LottieFiles平台,可播放、暂停生成文件的动画效果,可设置图层颜色、动画速度,也可以下载lottie preview客户端在iOS或Android机子上预览。
LottieFiles平台还提供了很多线上公开的Lottie动画效果,可直接下载JSON文件使用
交互hack
Lottie的不足之处是没有对应的API操纵动画层,若想做更细化的动画处理,只能直接操作节点来实现。比如当播放完左图动画进入惊讶状态后,若想实现右图随鼠标移动而控制动画层的简单效果:
开启调试面板可以看到,lottie-web通过使用标签的transform属性来控制动画:
当元素已添加到DOM节点,找到想要控制的标签,提取其transform属性的矩阵值,并使用 rematrix解析矩阵值。
监听鼠标移动,设置新的transform属性值。
进一步优化
看到一个方法,在AE中将图层命名为#id格式,生成的SVG相应的图层id会被设置为id,命名为.class格式,相应的图层class会被设置为class
试了下的确可以,如下图,因此可通过这个方法快速找到需要操作的动画层,进一步简化代码:
小结
Lottie的缺点在于若在AE动画制作的过程不注意规范,会导致数据文件大、耗内存和性能的问题;Lottie-web的官方文档不够详尽,例如assetsPath参数是在看源码的时候发现的;开放的API不够齐全,无法很灵活地控制动画层。
而优点也很明显,Lottie能帮助提高开发效率,精简代码,易于调试和维护;资源文件小,输出动画效果保真;跨平台——Android, iOS, Web和Windows通用。
总的来说,Lottie的引用可以替代传统的GIF和帧动画,灵活利用好提供的属性和方法可以控制动画的播放,但需注意规范设计和开发的流程,才可以更高效地完成动画的制作与调试。
2024-11-13 10:22
2024-11-13 10:15
2024-11-13 09:59
2024-11-13 08:50
2024-11-13 08:38