java opencv
在java中的opencv是怎样用的呢?下面就让我们一起来了解一下吧:
opencv是属于一个基于Apache2.0许可(开源)发行的跨平台计算机视觉与机器学习软件库,能够运行在运行在Linux、Windows、Android和Mac OS操作系统上。此外,opencv还具有C ++、Python、Java与MATLAB接口,并且可以支持Windows、Linux、Android与Mac OS,opencv本身主要是倾向于实时视觉应用,并且能在可用时利用MMX和SSE指令。
一般来说,在java中使用opencv需要先安装好,可以在官网中下载opencv,然后在opencv\build\java\及opencv\build\java\x64下提取jar包以及动态库,比如以springboot为例,可以在resources下创建lib/opencv文件夹,并且将这两个包放进去,然后就可以在pom.xml添加依赖,当然也可以选择其他方式添加依赖,不过一定要注意版本最好是要修改成opencv的版本才可。
参考范例:
创建一个springboot项目,然后在测试类中编写代码,即读取图像及灰度化,具体代码为:
package testopencv.demo;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.net.URL;
import static org.opencv.highgui.HighGui.imshow;
import static org.opencv.highgui.HighGui.waitKey;
import static org.opencv.imgcodecs.Imgcodecs.imread;
import static org.opencv.imgcodecs.Imgcodecs.imwrite;
import static org.opencv.imgproc.Imgproc.COLOR_RGB2GRAY;
import static org.opencv.imgproc.Imgproc.cvtColor;
@RunWith(SpringRunner.class)
@SpringBootTest
class DemoApplicationTests {
/**
* @return
* @Description
* @Param
* @Author zhangsan
* @Date 2020.09.05 9:43
**/
@Test
public void testOpencv() throws Exception {
// 解决awt报错问题
System.setProperty("java.awt.headless", "false");
System.out.println(System.getProperty("java.library.path"));
// 加载动态库
URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");
System.load(url.getPath());
// 读取图像
Mat image = imread("C:\\Users\\admin\\Pictures\\hello.jpg");
if (image.empty()) {
throw new Exception("image is empty");
}
imshow("Original Image", image);
// 创建输出单通道图像
Mat grayImage = new Mat(image.rows(), image.cols(), CvType.CV_8SC1);
// 进行图像色彩空间转换
cvtColor(image, grayImage, COLOR_RGB2GRAY);
imshow("Processed Image", grayImage);
imwrite("D://hello.jpg", grayImage);
waitKey();
}
}
-
如何购买合适的智能手表 预算2000元能买什么品牌的智能手表
一般来说,预算在2000左右的话,我们如何选择一款说明类型、品牌、型号、类型的智能手表呢?今天我们就来一起聊一聊我们如何挑选一款合适自己的智能手表呢?我们在选购的时候又要看重什...
品牌查看全文>> -
13款帕萨特蓝牙怎么使用
13款帕萨特蓝牙功能在中控台多媒体系统中可以找到,打开中控屏电源,按下多媒体屏幕一侧的SETUP键,选择媒体之后,在媒体列表中就可以找到蓝牙功能。车载蓝牙与手机蓝牙的功能比较相...
问答查看全文>> -
健达奇趣蛋是什么意思
原本是一种巧克力零食,外形是蛋形状现在也会被来嘲讽一些身高160cm却嫌弃身高170cm男生而且总是想找180cm男生的女生再后来会被直接用来指代矮胖女生,并且这个词逐渐被用来...
热词查看全文>> -
linux中pwd命令的功能是什么
linux中pwd命令的功能是什么?让我们一起来了解下。pwd命令用于显示工作目录, pwd 指令可得知您目前所在的工作目录的绝对路径名称。语法:pwd [--hel...
科技查看全文>>
推荐
- 1马自达昂克赛拉刹车灯开关在哪?238
- 2塑料桶能长期储水吃吗251
- 3明锐雾灯故障怎么解决?380
- 4轮胎单位是什么单位232
- 5opporeno7任务锁定设置 opporeno7应用锁定设置214
- 6sail电瓶是什么牌子433
- 7学术小白是什么意思268
- 8用德国发动机的车型有哪些?361