animegan2-pytorch 实现相机照片 转化为动漫滤镜效果图片
Posted 洛阳泰山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了animegan2-pytorch 实现相机照片 转化为动漫滤镜效果图片相关的知识,希望对你有一定的参考价值。
效果展示
原图
处理后
原图
处理后
原图
处理后
首先安装好项目所需要的环境
接下来下载animegan2-pytorch项目zip,并解压。
java调用python代码,Runtime.getRuntime().exec 多命令连续执行,实现图片转换。
pom文件需要引入依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
核心代码实现
import lombok.Data;
import java.io.*;
import java.nio.charset.Charset;
public class JavaCMD1
//anaconda3环境bat路径
private static String anacondaBatPath="D:\\\\anaconda3\\\\Scripts\\\\activate.bat";
//animegan2-pytorch项目根目录
private static String projectPath="E:\\\\animegan2-pytorch-main";
public static void main(String[] args) throws IOException, InterruptedException
Param param=new Param();
param.setInputDir("./samples/inputs/");
param.setOutputDir("./samples/outputs/");
param.setDevice("cpu");
param.setCheckpoint("face_paint_512_v2.pt");
run(param.getCommand());
@Data
static
class Param
private String inputDir;
private String outputDir;
private String device;
private String checkpoint;
public String getCommand()
return "python test.py --input_dir "+inputDir+" --output_dir "+outputDir+" --device "+device+" --checkpoint ./weights/"+checkpoint;
public static void run(String command)
String baseCmd = "cmd /k "+anacondaBatPath+" & conda activate pytorch & cd "+projectPath;
try
Process proc = Runtime.getRuntime().exec(baseCmd+"&"+command);
consumeInputStream(proc.getInputStream());
catch (IOException e)
e.printStackTrace();
/**
* 消费inputstream,并返回
*/
public static String consumeInputStream(InputStream is) throws IOException
BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("GBK")));
String s ;
StringBuilder sb = new StringBuilder();
while((s=br.readLine())!=null)
System.out.println(s);
sb.append(s);
return sb.toString();
本篇文章结束,觉得不错,一键三连支持一下吧!!!
以上是关于animegan2-pytorch 实现相机照片 转化为动漫滤镜效果图片的主要内容,如果未能解决你的问题,请参考以下文章