OpenCV-图像读写(java版)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV-图像读写(java版)相关的知识,希望对你有一定的参考价值。
@TOC
图像读写
Imgcodecs类中提供了图像的读写方法。使用 imread()函数读取磁盘中的图像;使用 imwrite()函数将图像写入磁盘中
以下图为例演示。(图片来源网络)
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);
运行效果如下:
在 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版)的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV 读写图像读写像素修改像素值(案例:图像反处理)