...">
瀏覽量:120次
在java中的opencv是怎樣用的呢?下面就讓我們一起來了解一下吧:
opencv是屬于一個基于Apache2.0許可(開源)發(fā)行的跨平臺計算機(jī)視覺與機(jī)器學(xué)習(xí)軟件庫,能夠運(yùn)行在運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。此外,opencv還具有C ++、Python、Java與MATLAB接口,并且可以支持Windows、Linux、Android與Mac OS,opencv本身主要是傾向于實時視覺應(yīng)用,并且能在可用時利用MMX和SSE指令。
一般來說,在java中使用opencv需要先安裝好,可以在官網(wǎng)中下載opencv,然后在opencv\build\java\及opencv\build\java\x64下提取jar包以及動態(tài)庫,比如以springboot為例,可以在resources下創(chuàng)建lib/opencv文件夾,并且將這兩個包放進(jìn)去,然后就可以在pom.xml添加依賴,當(dāng)然也可以選擇其他方式添加依賴,不過一定要注意版本最好是要修改成opencv的版本才可。
參考范例:
創(chuàng)建一個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"));
? ? ? ? // 加載動態(tài)庫
? ? ? ? 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);
? ? ? ? // 創(chuàng)建輸出單通道圖像
? ? ? ? Mat grayImage = new Mat(image.rows(), image.cols(), CvType.CV_8SC1);
? ? ? ? // 進(jìn)行圖像色彩空間轉(zhuǎn)換
? ? ? ? cvtColor(image, grayImage, COLOR_RGB2GRAY);
? ? ? ? imshow("Processed Image", grayImage);
? ? ? ? imwrite("D://hello.jpg", grayImage);
? ? ? ? waitKey();
? ? }
}
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認(rèn)后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776