千家信息网

基于OpenCv与JVM如何实现加载保存图像功能

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天给大家介绍一下基于OpenCv与JVM如何实现加载保存图像功能。,文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。加载
千家信息网最后更新 2026年11月02日基于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安全错误 数据库的锁怎样保障安全 互联网与科技 互联网络科技 南京欣网互联网络科技有限公司 互联网科技金融 互联网科技英文 互联网科技英文翻译 云创客互联网科技公司 江苏南京365互联网科技 阿里巴巴算科技企业还是互联网 以后互联网后是啥科技 互联网对科技的发展 天津腾达互联网科技有限公司 晋城互联网科技 为客找房互联网科技公司怎么样 深圳互联网科技的发展 浙南科技城互联网大厦招聘 普陀区互联网教育科技管理办法 求路客互联网科技电话 数字科技和互联网金融哪个好 互联网科技企业文化 深圳市人人互联网科技有限公司 广州大一互联网络科技有限公司 紫鲸互联网科技 广州恒生互联网科技有限 赶超互联网科技 微信多开 中国互联网十大科技股排名 科技大学互联网 中和天地互联网科技有限公司 广东工业互联网大赛深圳学泰科技 南京一网一红互联网科技有限公司
0