javacv图片美颜处理,视频美颜处理

news/2024/11/9 2:12:53/

javacv图片美颜处理,视频美颜处理

国产剧明星演戏自带十级滤镜,是众所周知的秘密;
使用opencv也能实现一定的美颜效果:

一、图片美颜

在这里插入图片描述

代码

package top.lingkang.test.demo;import org.bytedeco.opencv.opencv_core.*;
import org.bytedeco.opencv.opencv_imgproc.*;import java.io.File;import static org.bytedeco.opencv.global.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_imgcodecs.*;
import static org.bytedeco.opencv.global.opencv_imgproc.*;/*** @author lingkang* Created by 2022/6/6*/
public class Demo01 {public static void main(String[] args) {Mat result = new Mat();Mat image = imread("C:\\Users\\Administrator\\Desktop\\temp\\2.png");int level = 18;// 值越大,过滤强度越大bilateralFilter(image, result, level, level * 2, level / 2);File out = new File("d:/2.png");if (out.exists())out.delete();imwrite(out.getPath(), result);}
}

二、视频美颜

在这里插入图片描述

视频美颜代码

package top.lingkang.test.demo;import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.JavaFXFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_videoio.VideoCapture;import static org.bytedeco.opencv.global.opencv_imgproc.bilateralFilter;
import static org.bytedeco.opencv.global.opencv_videoio.CAP_PROP_FRAME_HEIGHT;
import static org.bytedeco.opencv.global.opencv_videoio.CAP_PROP_FRAME_WIDTH;/*** @author lingkang* Created by 2022/6/6*/
public class Demo02 extends Application {@Overridepublic void start(Stage primaryStage) throws Exception {primaryStage.setTitle("最帅的↓↓↓↓↓");primaryStage.setWidth(600);primaryStage.setHeight(800);ImageView imageView = new ImageView();imageView.setFitWidth(550);imageView.setFitHeight(750);HBox box = new HBox();box.getChildren().add(imageView);primaryStage.setScene(new Scene(box));primaryStage.show();int level = 12;// 值越大,过滤强度越大// 图像处理new Thread(new Runnable() {@Overridepublic void run() {JavaFXFrameConverter fxFrameConverter = new JavaFXFrameConverter();OpenCVFrameConverter openCVFrameConverter = new OpenCVFrameConverter.ToMat();try {// 调用摄像头VideoCapture capture = new VideoCapture();capture.set(CAP_PROP_FRAME_WIDTH, 600);capture.set(CAP_PROP_FRAME_HEIGHT, 800);if (!capture.open(0)) {System.out.println("无法打开摄像头!");return;}Mat mat = new Mat();int i = 0;while (true) {// 读取capture.read(mat);Mat result = new Mat();// 数值自行调整bilateralFilter(mat, result, level, level, 100);Frame convert = openCVFrameConverter.convert(result);Image image = fxFrameConverter.convert(convert);imageView.setImage(image);Thread.sleep(100);if (i > 200) {// 简单循环capture.release();capture.close();break;}i++;}} catch (Exception e) {e.printStackTrace();}}}).start();}public static void main(String[] args) {launch(args);}
}

http://www.ppmy.cn/news/372904.html

相关文章

美颜相机-图片处理(迅速画出+多种滤镜)

## 美颜相机实现美颜相机,我们一共需要三个类 1、UI界面类 2、事件监听器 3、封装方法,直接调用的类 1、UI界面类ImageUI 如果我们一个一个加上按钮会进行大量的复制粘贴工作,所以我们用循环遍历写一个方法直接调用 public void addBut…

Android gpuimage美颜滤镜,GPUImage图片美颜

准备工作: 导入GPUImage框架 方式一 : 利用cocoapods 集成 方式二 : 去Githup下载源代码,然后导入 代码 : 方法一: (利用GPUImage框架提供的GPUImageView来展示滤镜后的图片) // 预览view GPUImageView *imageView [[GPUImageView alloc]initWithFrame:self.view.bounds]; [se…

BeautyGAN图片的高精度美颜

美颜:https://github.com/Honlan/BeautyGAN,还需要按照md下载模型就可使用 提高精度:https://github.com/TencentARC/GFPGAN,还需要按照md下载一些包就可使用 美颜: 1.使用网络:cycleGAN循环生成对抗网络 …

看图角色扮演聊天ui

该程序是一个聊天机器人的界面程序,主要功能是让用户输入文本,调用聊天机器人的模型或API,返回机器人的回复,并显示在界面上。 下面从以下几个方面讲解此程序的创新和功能。 GUI功能:程序使用了Python内置库tkinter作为GUI框架,实现了对话记录、文字输入、发送按钮和头像…

海康DVR DS-6708HW RTSP url格式笔记

海康DVR DS-6708HW RTSP 流地址格式: rtsp://admin:admin192.168.1.5:554/Streaming/Channels/101用户名:密码ip:端口/Streaming/Channels/通道号 其中通道号: 101:代表第1通道的主码流 102:代表第1通道的子码流 201&#xff1…

R语言 均值聚类、中心聚类、系谱聚类、密度聚类、最大期望聚类

关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 R版本:v_3.6.1 主要讲述5类聚类: K-means聚类 K-中心聚类 系谱聚类 密度聚类 EM聚类 5种聚类的应用实例以及详细的参数说明如下: 数据导入数据&#xff1a…

解释Linux进程的父子关系,Linux进程管理

一,名词解释 1,什么是进程? 进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间; • 安全属性,包括所有权凭据和特权; • 程序代码的一个或多个执行线程; • 进程状态。 程序: 二进制文件,静态 /bin/date, /usr/sbin/httpd,/usr/sbi…

GetLastError() 返回值一览

函数原型: DWORD GetLastError() 中文版(不完全) 〖0〗-操作成功完成。   〖1〗-功能错误。   〖2〗-系统找不到指定的文件。   〖3〗-系统找不到指定的路径。   〖4〗-系统无法打开文件。   〖5〗-拒绝访问。   〖6〗-句柄无效。   〖7〗-存储控制块被…