animegan2-pytorch 实现相机照片 转化为动漫滤镜效果图片

Posted 洛阳泰山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了animegan2-pytorch 实现相机照片 转化为动漫滤镜效果图片相关的知识,希望对你有一定的参考价值。

效果展示

原图

处理后

原图

处理后

 原图

处理后

首先安装好项目所需要的环境

参考文章 《WINDOWS系统机器学习基础环境安装教程》https://blog.csdn.net/weixin_40986713/article/details/122062628?spm=1001.2014.3001.5501https://blog.csdn.net/weixin_40986713/article/details/122062628?spm=1001.2014.3001.5501

接下来下载animegan2-pytorch项目zip,并解压。

animegan2-pytorch-main.zip-机器学习文档类资源-CSDN下载将普通相机照片,加上动漫滤镜效果更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/weixin_40986713/68685717

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 实现相机照片 转化为动漫滤镜效果图片的主要内容,如果未能解决你的问题,请参考以下文章

Python实现照片卡通化,一拳打破次元壁 | 机器学习

使用CoreAnimation 实现相机拍摄照片之后动画效果

OpenCV实现照片自动红眼去除

iOS:确定相册中的照片是不是来自相机

iOS 中的相机和照片库一起使用

一行代码实现安卓照片选取上传服务器,并适配安卓7.0无法调起相机的问题