java opencv 平移_Java中使用opencv
Java中使用opencv
Java中使用opencv
零、前言
作為圖像處理出身,不僅僅要會C++圖像處理、matlab圖像處理、python圖像處理、最起碼也得會java圖像處理,當然我最終還都用的是opencv這個機器視覺庫了。今天簡單介紹一下java中如何使用opencv。
一、配置庫
(1)官網下載opencv,在opencv\build\java\以及opencv\build\java\x64下提取jar包以及動態庫。
(2)以springboot舉例,在resources下創建lib/opencv文件夾,并將這兩個包放進去。
(3) 在pom.xml添加依賴如下(或者其他方式添加依賴均可)
org
opencv
system
${project.basedir}\src\main\resources\lib\opencv\opencv-440.jar
注意版本要修改成你自己opencv的版本。
至此,配置完成。
二、其他知識
在java中調用dll:
// 加載動態庫
URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");
System.load(url.getPath());
三、簡單的例子
(1)創建一個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();
}
}
效果:
四、結束
簡單介紹了java使用opencv的方法,后續可能會基于springboot做一些web方面圖像處理的功能,做人不能局限,技多不壓身,只能顯得更屌絲而已。我就是我,不一樣的小馬哥。
Java中使用opencv相關教程
總結
以上是生活随笔為你收集整理的java opencv 平移_Java中使用opencv的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 删除node进程,关于nod
- 下一篇: const 一级指针的启示