OpenCV之Imgcodecs类读写

本文详细介绍了如何利用Imgcodecs类在Java中进行图像的读取和写入。通过imread()和imwrite()方法,可以方便地处理Mat对象。示例代码展示了读取图像的宽高信息以及将图像写入指定路径的过程,并提供了使用FileChooser选择文件路径的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Imgcodecs
该类常用于媒体资源文件的读写,如imread()与imwrite(),在没有指明特定情况下,Mat对象的加载模式为CV_8UC3


读的核心在于Imgcodecs类的imread() 方法,该方法一个重要构造器如下:

imread(filePath):参数为被读取的文件路径

    private void loadImg(String filePath){
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Imgcodecs imgcodecs = new Imgcodecs();
        Mat mat = imgcodecs.imread(filePath);

        System.out.println("------> mat clos:" + mat.cols());
        System.out.println("------> mat rows:" + mat.rows());
    }

控制台结果如下

------> mat clos:200
------> mat rows:200


写的核心在于Imgcodecs类的imwrite() 方法,该方法一个重要构造器如下:

imwrite(filePath, Mat):第一个参数为待写入的文件路径,第二个为Mat对象

    private void writeImg(String filePath){
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Imgcodecs imgcodecs = new Imgcodecs();
        Mat mat = imgcodecs.imread(filePath);
        imgcodecs.imwrite("E:/Chrome/3.jpg", mat);
    }

此方法调用后将在指定filePath路径下创建名为3.jpg的图片

注意:本例的读写均写为方法形式,接受一个String类型参数供以确定路径。建议在JavaFX(Swing也可)环境下使用FileChooser来确定路径,附录文件路径选择的代码如下:

Node source = (Node) actionEvent.getSource();
Window theStage = source.getScene().getWindow();
FileChooser fileChooser = new FileChooser();
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.png");
fileChooser.getExtensionFilters().add(extFilter);
File file = fileChooser.showOpenDialog(theStage);

//写入文件
writeImg(file.getPath());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值