基于OpenCv与JVM如何实现加载保存图像功能
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,今天给大家介绍一下基于OpenCv与JVM如何实现加载保存图像功能。,文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。加载
千家信息网最后更新 2025年01月19日基于OpenCv与JVM如何实现加载保存图像功能
今天给大家介绍一下基于OpenCv与JVM如何实现加载保存图像功能。,文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。
加载图片
openCv有一个名imread的简单函数,用于从文件中读取图像
imread 函数位于Imgcodecs类的同名包中。
加载图片代码
import org.opencv.core.CvType;import org.opencv.core.Mat;import org.opencv.core.Core;import org.opencv.imgcodecs.Imgcodecs;import origami.Origami;public class HelloCv { public static void main(String[] args) throws Exception { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat mat = Imgcodecs.imread("./images/test.jpg"); System.out.println(mat.width()+"x"+mat.height()+","+mat.type()); }}
加载成功会输出以下消息
这个函数也可以加载灰度图像
通过IMREAD_GRAYSCALE进行控制
Mat mat = Imgcodecs.imread("./images/test.jpg",Imgcodecs.IMREAD_GRAYSCALE);
IMREAD_GRAYSCALE将图像强制转换为灰度图像并加载到Mat对象中
除了IMREAD_GRAYSCALE参数外,还可以传递其他参数得到特定的处理通道和图像深度
保存图片
imwrite函数可以用来保存图片,也是 Imgcodecs类中
我们的图片是彩色的,通过IMREAD_GRAYSCALE改变为灰度图片,并以output.jpg为名输出
import org.opencv.core.CvType;import org.opencv.core.Mat;import org.opencv.core.Core;import org.opencv.imgcodecs.Imgcodecs;import origami.Origami;public class HelloCv { public static void main(String[] args) throws Exception { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat mat = Imgcodecs.imread("./images/test.jpg",Imgcodecs.IMREAD_GRAYSCALE); //灰度加载 System.out.println(mat.width()+"x"+mat.height()+","+mat.type()); Imgcodecs.imwrite("./images/output.jpg",mat); }}
对于JPEG,可以使用CV_IMWRITE_JPEG_QUALITY参数,参数值范围为0~100(值越大图像质量越高)。默认值是95。
对于PNG,可以使用0~9作为压缩程度的参数值,值越大表示图像越小且压缩时间越长。默认值是3。
可以通过使用另一个叫作MatOfInt的OpenCV对象来实现使用压缩参数压缩输出文件,MatOfInt是一个整型矩阵,或者是一个更简单的形式,即数组。
import org.opencv.core.CvType;import org.opencv.core.Mat;import org.opencv.core.Core;import org.opencv.core.MatOfInt;import org.opencv.imgcodecs.Imgcodecs;import origami.Origami;public class HelloCv { public static void main(String[] args) throws Exception { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat mat = Imgcodecs.imread("./images/test.jpg",Imgcodecs.IMREAD_GRAYSCALE); System.out.println(mat.width()+"x"+mat.height()+","+mat.type()); MatOfInt moi = new MatOfInt(Imgcodecs.IMWRITE_PNG_COMPRESSION,9); Imgcodecs.imwrite("./images/output.png",mat,moi); }}
未压缩前大小
压缩后大小
以上就是基于OpenCv与JVM如何实现加载保存图像功能的全部内容了,更多与基于OpenCv与JVM如何实现加载保存图像功能相关的内容可以搜索之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下!
图像
参数
图片
函数
灰度
功能
内容
文章
输出
大小
对象
文件
更多
不错
成功
代码
可以通过
就是
形式
彩色
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
珠海市佰元互联网科技
网络技术开发成本有哪些
学情达的服务器已关闭
管理工具看不到服务器管理员
项目管理软件开发难点
爱翻翻网络技术
超级计算机是小型服务器组成的吗
华为设备软件开发
报价单模板软件开发
在关系数据库设计中核心
数据库中只允许输入男或女
北邮 网络技术研究院
中兴最厉害的数据库
如何在数据库中设置到期提醒
2019国际网络安全
江西综合网络技术咨询口碑推荐
天津网络时间同步服务器云空间
火山服务器异常
浙江现代软件开发市场价
数据库er图的画法步骤
网络安全负责运维吗
网络安全和信息安全是一个板块吗
宣城财务软件开发
sde空间数据库连接
项目管理软件开发难点
免费服务器安全工具
华强南软件开发教学
于洪芬 软件开发中心
什么是分布式数据库
手机端软件开发毕业设计