php网站开发兼容怎么设置,桦南县建设局网站,怎么建设课程的网站,上海做网站优化价格文章目录 1、前言2、 图像处理工具效果对比2.1 Graphics2D实现2.2 Thumbnailator实现2.3 ImageJ实现2.4 JAI#xff08;Java Advanced Imaging#xff09;实现2.5 OpenCV实现 3、图像处理工具结果 1、前言 SVD(stable video diffusion)开放了图生视频的API#xff0c;但是限… 文章目录 1、前言2、 图像处理工具效果对比2.1 Graphics2D实现2.2 Thumbnailator实现2.3 ImageJ实现2.4 JAIJava Advanced Imaging实现2.5 OpenCV实现 3、图像处理工具结果 1、前言 SVD(stable video diffusion)开放了图生视频的API但是限制图片分辨率必须为下面三种1024x576、576x1024、768x768。项目基于Fooocus生成的图片分辨率不满足然后基于ImageIOGraphics2D处理了一下修改图片分辨率然后再去生成视频。功能调通了但是发现图片清晰度严重下降。效果如下所示。 看了下Windows自带画图工具修改分辨率大小功能修改后的图片清晰度基本上能和原图一致。这个Graphics2D质量差的多。 然后分析了五种常用的Java图像处理工具Graphics2D、ImageJ、JAI、OpenCV和Thumbnailator。通过了解它们的基础知识和Java对接实现对比下来在修改分辨率后图片清晰度最高的是OpenCV。图片处理质量依次为OpenCVJAIImageJthumbnailatorGraphics2D
Fooocus生成图片1536 x 2560 Graphics2D修改分辨率后的图片576 x 1024 2、 图像处理工具效果对比 此处对一张图片分别使用五种工具处理进行结果比对。 原图如下1280 x 768分辨率要求处理为一张1024 x 576的图片。输出图片质量要求尽可能的高。
2.1 Graphics2D实现
2.1.1 说明 Graphics2D是Java中的2D图形API用于绘制和操作图形。 使用Graphics2D可以轻松地修改图像的分辨率使用的是插值算法重新绘制图片但是图片失真严重。 如果图片是webp格式需要引入下面依赖以兼容webp格式。 2.1.2 依赖 dependencygroupIdcom.twelvemonkeys.imageio/groupIdartifactIdimageio-webp/artifactIdversion3.10.1/version/dependency2.1.3 实现 2.1.4 效果 基本上能满足压缩图片的需求但色彩严重不饱和、画质较低清晰度远远达不到原图。 Graphics2D绘图支持三种算法但是效果大差不差。
2.2 Thumbnailator实现
2.2.1 说明 Thumbnailator是一个用于创建和处理缩略图的Java库。它提供了简单易用的 API使开发人员能够快速地生成缩略图并对其进行各种操作如缩放、旋转、裁剪、水印等。
图像缩放可以根据指定的尺寸生成缩略图图像裁剪可以根据指定的区域裁剪原始图像。图像旋转、反转、水印、边框等功能
2.2.2 依赖 dependencygroupIdnet.coobird/groupIdartifactIdthumbnailator/artifactIdversion0.4.9/version/dependency2.2.3 实现
2.2.4 效果 能满足压缩图片的需求色彩同样严重不饱和、可以清晰的看到像素颗粒度很大。 和Graphics2D对比画质效果提升不明显。
2.3 ImageJ实现
2.3.1 说明 ImageJ是一个开源的图像处理和分析软件它提供了丰富的图像处理和分析工具适用于科学研究、医学影像、工程图像处理等领域。
ImageJ 提供了丰富的图像处理工具包括图像滤波、增强、分割、配准、变换等功能ImageJ 提供了多种图像分析工具包括图像测量、轮廓分析、颜色分析、纹理分析等功能
2.3.2 依赖 dependencygroupIdnet.imagej/groupIdartifactIdij/artifactIdversion1.54i/version/dependency2.3.3 实现 2.3.4 效果 满足压缩图片的需求色彩饱和光线强弱对比明显衣服质感表情还原基本不错。 观察脸部手部、小兔子耳朵可以明显看到存在锯齿轮廓画质相对不错但质量依然不高。
2.4 JAIJava Advanced Imaging实现
2.4.1 说明 Java 高级图像处理工具包JAI是用于在 Java 环境中处理图像和图形数据的库。
JAI 提供了丰富的图像处理和图形操作功能包括图像过滤、变换、合成、校正、分析等。
2.4.2 依赖 dependencygroupIdjavax.media/groupIdartifactIdjai-core/artifactIdversion1.1.3/version/dependencydependencygroupIdcom.sun/groupIdartifactIdjai_codec/artifactIdversion1.1.3/version/dependency2.4.3 实现 2.4.4 效果 整体看起来没有大问题。面部表情细腻头发、瓶子、手部、后面的光线等能达到较高的清晰度。
2.5 OpenCV实现
2.5.1 说明 OpenCV(Open Source Computer Vision Library)是一个开源的跨平台计算机视觉库它提供了丰富的图像处理和计算机视觉算法可用于开发各种视觉任务的应用程序。
提供了易于使用的 C、Python 和 Java 接口简单易用底层实现采用了高效的 C/C 编写拥有较高的性能功能库非常丰富提供了超过 2500 个优化过的图像处理和计算机视觉算法涵盖了各种任务包括图像处理、特征检测、物体识别、人脸识别、目标跟踪、摄像头校正等 2.5.2 依赖 dependencygroupIdorg.openpnp/groupIdartifactIdopencv/artifactIdversion4.9.0-0/version/dependency2.5.3 实现
java.lang.UnsatisfiedLinkError: no opencv_java490 in java.library.path问题处理 在Windows下开发需要下载安装OpenCV下载地址https://opencv.org/releases/ 以OpenCV – 4.9.0版本为例在windows x64系统下找到安装路径下的动态链接库文件{home}\opencv\build\java\x64\opencv_java490.dll移动至java.library.path下此处移动至JDK的bin路径下即可。 在linux下库文件是{home}/opencv-4.9.0/build/lib/libopencv java490.so文件
// 查看Java库文件路径
System.getProperty(java.library.path)2.5.4 效果 对比JAI效果好像没有大的提升我们放大3倍来看。左侧为JAI右侧为OpenCV。 OpenCV画质更高没有明显的模糊区域。JAI存在一定的糊状效果。
3、图像处理工具结果 仅针对图片分辨率调整处理结果来说从画质清晰度、色彩、面部表情、阳光、手部细节等角度看整体效果OpenCVJAIImageJThumbnailatorGraphics2D 对于OpenCV有更多功能也很强大此处仅针对绘图进行比对更多功能等待后续探索。 参考文章代码片-OpenCV、JAI、ImageJ、Thumbnailator和Graphics2D Powered By niaonao