1.导入opencv依赖
<!--配合opencv处理图像依赖-->
<dependency>
<groupId>org</groupId>
<artifactId>opencv</artifactId>
<scope>system</scope>
<version>4.0.0</version>
<systemPath>${project.basedir}/src/main/resources/lib/opencv-245.jar</systemPath>
</dependency>
2.导入依赖包到对应目录下
3.yml文件路径配置(将动态库依赖包放到对应的路径下)
4.获取代码
- 获取对应yml动态库配置
- 干货代码
Map map = new HashMap();
String osName = System.getProperties().getProperty("os.name");
String url = null;
if (osName.equals("Linux")) {
url = jdo;
} else {
url = jwd;
}
System.load(url);
ArrayList array = new ArrayList();
Mat image = imread(pathPy, -1);
int img_rows = image.rows();
int img_colums = image.cols();
int img_channels = image.channels();
for (int i = 0; i < img_channels; i++) {
for (int j = 0; j < img_rows; j++) {
for (int k = 0; k < img_colums; k++) {
array.add(image.get(j, k)[i]);
}
}
}
File picture = new File(pathPy);
BufferedImage sourceImg = ImageIO.read(new FileInputStream(picture));
ColorModel color = sourceImg.getColorModel();
map.put("deep", color.getPixelSize());
map.put("width", img_colums);
map.put("height", img_rows);
map.put("data", array);
return RestResultUtil.genSuccessResult(map);
5.依赖包以及动态库获取路径
链接:https://pan.baidu.com/s/1cZga5nFDIr5r5CWMYl-7yA
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦
6.听说javacv不用加载动态库也可获取像素值,但是我搞了好几天没有处理好,最终才选择此办法,如果有更好的办法或者不用加载动态库的办法,希望各位大神留言,学习学习。谢谢