最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于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ù)也可以加載灰度圖像

通過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ù)可以用來保存圖片,也是 Imgcodecs類中

我們的圖片是彩色的,通過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。

可以通過使用另一個(gè)叫作MatOfInt的OpenCV對(duì)象來實(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)文章

  • SpringBoot之自定義Banner詳解

    SpringBoot之自定義Banner詳解

    這篇文章主要介紹了SpringBoot之自定義Banner詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • SpringBoot中的@Component注解源碼

    SpringBoot中的@Component注解源碼

    在SpringBoot中,@Component注解用于標(biāo)識(shí)一個(gè)類為Bean,并由Spring進(jìn)行管理,它需要配合@ComponentScan注解使用,后者負(fù)責(zé)掃描包含@Component的類,并進(jìn)行自動(dòng)裝配,本文給大家介紹SpringBoot中的@Component注解源碼,感興趣的朋友一起看看吧
    2024-01-01
  • Spring?BeanDefinition父子關(guān)系示例解析

    Spring?BeanDefinition父子關(guān)系示例解析

    這篇文章主要為大家介紹了Spring?BeanDefinition父子關(guān)系示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • springmvc+mybatis 做分頁(yè)sql 語句實(shí)例代碼

    springmvc+mybatis 做分頁(yè)sql 語句實(shí)例代碼

    本文通過一段實(shí)例代碼給大家介紹了springmvc+mybatis 做分頁(yè)sql 語句的方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-07-07
  • Java報(bào)錯(cuò):ClassCastException問題解決方法

    Java報(bào)錯(cuò):ClassCastException問題解決方法

    異常是程序中的一些錯(cuò)誤,但并不是所有的錯(cuò)誤都是異常,并且錯(cuò)誤有時(shí)候是可以避免的,下面這篇文章主要給大家介紹了關(guān)于Java報(bào)錯(cuò):ClassCastException問題解決方法,需要的朋友可以參考下
    2024-07-07
  • java中MVC模式與三層架構(gòu)

    java中MVC模式與三層架構(gòu)

    這篇文章主要讓我們理解MVC模式和三層架構(gòu)的基礎(chǔ)知識(shí),有興趣的同學(xué)可以閱讀,借鑒參考一下
    2023-03-03
  • 詳解SpringBoot如何開啟異步編程

    詳解SpringBoot如何開啟異步編程

    本文主要介紹了詳解SpringBoot如何開啟異步編程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 你都理解創(chuàng)建線程池的參數(shù)嗎?

    你都理解創(chuàng)建線程池的參數(shù)嗎?

    這篇文章主要介紹了創(chuàng)建線程池參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳解spring集成mina實(shí)現(xiàn)服務(wù)端主動(dòng)推送(包含心跳檢測(cè))

    詳解spring集成mina實(shí)現(xiàn)服務(wù)端主動(dòng)推送(包含心跳檢測(cè))

    本篇文章主要介紹了詳解spring集成mina實(shí)現(xiàn)服務(wù)端主動(dòng)推送(包含心跳檢測(cè)),具有一定的參考價(jià)值,與興趣的可以了解一下
    2017-09-09
  • 詳解Java中的reactive stream協(xié)議

    詳解Java中的reactive stream協(xié)議

    Stream大家應(yīng)該都很熟悉了,java8中為所有的集合類都引入了Stream的概念。優(yōu)雅的鏈?zhǔn)讲僮?,流式處理邏輯,相信用過的人都會(huì)愛不釋手。本文將詳細(xì)介紹Java中的reactive stream協(xié)議。
    2021-06-06

最新評(píng)論

滕州市| 九江市| 海口市| 满洲里市| 永胜县| 南京市| 安龙县| 新余市| 夏津县| 江阴市| 白城市| 密山市| 仙游县| 牟定县| 泸水县| 青神县| 玉溪市| 赤壁市| 汶上县| 武夷山市| 武义县| 大田县| 萨嘎县| 平罗县| 文山县| 翼城县| 津市市| 龙岩市| 丽江市| 和林格尔县| 佛冈县| 西乌珠穆沁旗| 磴口县| 滕州市| 康定县| 武乡县| 金川县| 阳高县| 蒙自县| 清涧县| 华亭县|