OpenCV-图像读写(java版)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV-图像读写(java版)相关的知识,希望对你有一定的参考价值。

@​​TOC​

图像读写

Imgcodecs类中提供了图像的读写方法。使用 imread()函数读取磁盘中的图像;使用 imwrite()函数将图像写入磁盘中

以下图为例演示。​​(图片来源网络)​

OpenCV-图像读写(java版)_java

1.imread()

​Mat imread(String filename, int flags)​​ imread()函数返回的是 Mat 对象,如果读取文件失败,则会返回一个空矩阵

public static void main(String[] args) 
String libraryPath= System.getProperty("user.dir")+"\\\\lib\\\\opencv_java460.dll";
System.load(libraryPath);
Mat img= Imgcodecs.imread("sl.jpg",0);
if (img.empty())
System.out.println("文件为空");
else
HighGui.imshow("img",img);
HighGui.waitKey(0);


运行效果如下:

OpenCV-图像读写(java版)_读取文件_02

在 imread()函数中,flag 参数值有三种情况:

1️⃣ flag>0,该函数返回 3 通道图像,如果磁盘上的图像文件是单通道的灰 度图像,则会被强制转为 3 通道;

2️⃣ flag=0,该函数返回单通道图像,如果磁盘的图像文件是多通道图像,则 会被强制转为单通道;

3️⃣ flag<0,则函数不对图像进行通道转换。

2.imwrite()

​ imwrite(String filename, Mat img)​

将图像写入磁盘中

public static void main(String[] args) 
String libraryPath= System.getProperty("user.dir")+"\\\\lib\\\\opencv_java460.dll";
System.load(libraryPath);
Mat img = Imgcodecs.imread("sl.jpg",0 );
//写图像
Imgcodecs.imwrite("sl_write.jpg",img);
HighGui.imshow("img",img);
HighGui.waitKey(0);

结果

OpenCV-图像读写(java版)_函数返回_03

以上是关于OpenCV-图像读写(java版)的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV-像素值读写(java版)

OpenCV读写图像文件解析

java版 opencv 图像对比相似度怎么实现

OpenCV 读写图像读写像素修改像素值(案例:图像反处理)

OpenCV 读写图像读写像素修改像素值(案例:图像反处理)

opencv和matplotlib库图像读写显示对比和总结