当前位置:家常菜>百科>科技>正文

java opencv

人气:493 ℃/2024-09-07 19:24:48

在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();

    }

}

  • 超甜表白文案短句 表白文本短句

    1、只愿今生和你,永不分散。2、以下整理的表白文本短句,超甜表白文案短句,希望大家喜欢,你的眉眼不经修饰,直抵心房,3、希望你只对我露出这样的微笑。4、小女子喜欢你可不是冲动。...

    句子查看全文>>
  • 禁止车辆驶入标志扣几分

    禁止车辆驶入标志扣几分?违反禁止车辆驶入标志扣3分,处20元以上200元以下罚款。根据《道路交通安全违法行为记分分值》第三条规定:驾驶机动车违反禁令标志、禁止标线指示的,一次记...

    问答查看全文>>
  • 转向机拉杆自己能换了吗?

    转向机拉杆自己不能更换的,转向球头的更换需前往修理店寻求专业人士进行更换的。转向机拉杆球头没有规定更换周期,出现损坏才需要进行更换的。转向拉杆球头损坏会导致转向是产生异响,转向...

    问答查看全文>>
  • 微信下午问候语简短

    1、生命中,再无聊的时光,也都是限量版。下午好!2、下午好,祝你这天好心情,工作顺利,生活甜美。3、坚持到底的信念,成功的鲜花就会灿烂绽放。祝快乐从容每一天,幸运幸福永相伴。下...

    祝福语查看全文>>
  • 奔腾b50用了什么悬架

    奔腾b50的前悬架使用了双横臂独立悬架,后悬架使用了多连杆独立悬架。奔腾b50是奔腾旗下的一款紧凑型轿车,这款车的长宽高分别是4695毫米,1795毫米,1460毫米,轴距为2...

    问答查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版