欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于OpenCv與JVM實(shí)現(xiàn)加載保存圖像功能(JAVA?圖像處理)

 更新時(shí)間:2022年01月08日 10:27:50   作者:Java璐到底  
openCv有一個(gè)名imread的簡(jiǎn)單函數(shù),用于從文件中讀取圖像,本文給大家介紹JAVA?圖像處理基于OpenCv與JVM實(shí)現(xiàn)加載保存圖像功能,感興趣的朋友一起看看吧

加載圖片

openCv有一個(gè)名imread的簡(jiǎn)單函數(shù),用于從文件中讀取圖像

imread 函數(shù)位于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());
??? }
}

加載成功會(huì)輸出以下消息

這個(gè)函數(shù)也可以加載灰度圖像

通過(guò)IMREAD_GRAYSCALE進(jìn)行控制

Mat mat = Imgcodecs.imread("./images/test.jpg",Imgcodecs.IMREAD_GRAYSCALE);

IMREAD_GRAYSCALE將圖像強(qiáng)制轉(zhuǎn)換為灰度圖像并加載到Mat對(duì)象中

除了IMREAD_GRAYSCALE參數(shù)外,還可以傳遞其他參數(shù)得到特定的處理通道和圖像深度

保存圖片

imwrite函數(shù)可以用來(lái)保存圖片,也是 Imgcodecs類中

我們的圖片是彩色的,通過(guò)IMREAD_GRAYSCALE改變?yōu)榛叶葓D片,并以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);
??? }
}

對(duì)于JPEG,可以使用CV_IMWRITE_JPEG_QUALITY參數(shù),參數(shù)值范圍為0~100(值越大圖像質(zhì)量越高)。默認(rèn)值是95。

對(duì)于PNG,可以使用0~9作為壓縮程度的參數(shù)值,值越大表示圖像越小且壓縮時(shí)間越長(zhǎng)。默認(rèn)值是3。

可以通過(guò)使用另一個(gè)叫作MatOfInt的OpenCV對(duì)象來(lái)實(shí)現(xiàn)使用壓縮參數(shù)壓縮輸出文件,MatOfInt是一個(gè)整型矩陣,或者是一個(gè)更簡(jiǎn)單的形式,即數(shù)組。

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);
    }
}

未壓縮前大小

壓縮后大小

到此這篇關(guān)于基于OpenCv與JVM實(shí)現(xiàn)加載保存圖像功能(JAVA 圖像處理)的文章就介紹到這了,更多相關(guān)java OpenCv加載保存圖像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis中ResultMap與多表查詢的處理方法

    MyBatis中ResultMap與多表查詢的處理方法

    這篇文章主要介紹了MyBatis中ResultMap與多表查詢的處理方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 淺析Java中的異常處理機(jī)制

    淺析Java中的異常處理機(jī)制

    這篇文章主要介紹了Java中的異常處理機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-11-11
  • 解決IDEA修改 .vmoptions 文件后導(dǎo)致無(wú)法啟動(dòng)的問(wèn)題

    解決IDEA修改 .vmoptions 文件后導(dǎo)致無(wú)法啟動(dòng)的問(wèn)題

    這篇文章主要介紹了解決IDEA修改 .vmoptions 文件后導(dǎo)致無(wú)法啟動(dòng)的問(wèn)題,需要的朋友可以參考下
    2020-12-12
  • Java?Bean轉(zhuǎn)Map的那些踩坑實(shí)戰(zhàn)

    Java?Bean轉(zhuǎn)Map的那些踩坑實(shí)戰(zhàn)

    項(xiàng)目中有時(shí)會(huì)遇到Map轉(zhuǎn)Bean,Bean轉(zhuǎn)Map的情況,下面這篇文章主要給大家介紹了關(guān)于Java?Bean轉(zhuǎn)Map那些踩坑的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • netty對(duì)proxy protocol代理協(xié)議的支持詳解

    netty對(duì)proxy protocol代理協(xié)議的支持詳解

    這篇文章主要為大家介紹了netty對(duì)proxy protoco代理協(xié)議的支持詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java面試必備八股文整理

    Java面試必備八股文整理

    這篇文章主要介紹了Java面試必備八股文整理,小伙伴們出去面試的時(shí)候會(huì)被問(wèn)到很多java專業(yè)性的知識(shí),那么八股文就是為此而出現(xiàn)的,需要的朋友可以參考下
    2023-03-03
  • SpringBoot多controller添加URL前綴的實(shí)現(xiàn)方法

    SpringBoot多controller添加URL前綴的實(shí)現(xiàn)方法

    這篇文章主要介紹了SpringBoot多controller添加URL前綴的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • SpringBoot整合MybatisPlus實(shí)現(xiàn)增刪改查功能

    SpringBoot整合MybatisPlus實(shí)現(xiàn)增刪改查功能

    MybatisPlus是國(guó)產(chǎn)的第三方插件,?它封裝了許多常用的CURDapi,免去了我們寫mapper.xml的重復(fù)勞動(dòng)。本文將整合MybatisPlus實(shí)現(xiàn)增刪改查功能,感興趣的可以了解一下
    2022-05-05
  • Java多線程開發(fā)工具之CompletableFuture的應(yīng)用詳解

    Java多線程開發(fā)工具之CompletableFuture的應(yīng)用詳解

    做Java編程,難免會(huì)遇到多線程的開發(fā),但是JDK8這個(gè)CompletableFuture類很多開發(fā)者目前還沒聽說(shuō)過(guò),但是這個(gè)類實(shí)在是太好用了,本文就來(lái)聊聊它的應(yīng)用吧
    2023-03-03
  • spring boot中controller的使用及url參數(shù)的獲取方法

    spring boot中controller的使用及url參數(shù)的獲取方法

    這篇文章主要介紹了spring boot中controller的使用及url參數(shù)的獲取方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論