基于OpenCv与JVM如何实现加载保存图像功能
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,今天给大家介绍一下基于OpenCv与JVM如何实现加载保存图像功能。,文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。加载
千家信息网最后更新 2025年11月15日基于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安全错误
数据库的锁怎样保障安全
暗黑2 重制版服务器老崩
数据库技术的笔记
服务器巡查管理
北京语音网络技术服务标准
弹弹堂还有哪几个服务器
社交软件开发风口在哪里
专升本计算机数据库真题
溧水im即时通讯软件开发
教科院附小网络安全
csgo国服服务器在哪里
网络安全是实战吗
邑其网络技术工作室
2000人游戏服务器搭建
泰拉瑞亚如何在服务器登录
根据国家网络安全法的规定
吃鸡战场服务器有多大
深圳蓝思网络技术好不好
淄博全球软件开发大会
PHP软件开发方向
无限乱斗服务器挤爆怎么解决
mysql数据库执行主机查询
企业网络安全问题及对策
天龙八部行者无双服务器
2008r2 代理服务器
hp服务器 心跳灯
滨州安卓软件开发公司有哪些
山东工业软件开发现价
辽宁省网络安全大讲堂活动体会
空房小说软件开发
苹果提醒文件服务器升级