2017-04-22 62 views
0

我一直在嘗試使用OpenCV/JavaCV製作計算機視覺項目,並且我想使用imread將圖像存儲到Mat變量中。無法解析在JavaCV中的導入

這是我在做什麼:Mat img=imread("C:/Reference/to/Pic.jpg");

這是沒有編制,因爲進口不解決,特別是這一個。

import static org.bytedeco.javacpp.opencv_imgcodecs.imread; 它告訴我「進口org.bytedeco無法解決」。

我所有的其他進口產品都按照預期工作。這裏有什麼問題?這是不是進口imread?安裝OpenCV/JavaCV有問題嗎?

+0

你在用什麼IDE?你有沒有把你的圖書館納入該項目? – Emad

+0

@Emad,我使用Eclipse,我想我已經包含了所有的庫,所有其他OpenCV特定函數都可以工作,但它只是阻止了合作的拒絕。 「org.bytedeco」中是否需要包含某個jar? –

回答

1

看來,OpenCV/JavaCV有一些沒有添加到您的項目的依賴項。 org.bytedeco.javacpp.opencv_imgcodecs.imread位於javacpp-preset存儲庫,它是github回購https://github.com/bytedeco/javacpp-presets

首先,我建議仔細閱讀README.md的javaCV存儲庫,以瞭解如何將javaCV導入到您的項目中。這顯然是在JavaCV README.md解釋說:

手動安裝

簡單地把所有所需的JAR文件(OpenCV中的* .jar,的ffmpeg的* .jar等), 除了javacpp。 jar和javacv.jar,在你的班級 的某處。以下是一些常見情況的更具體說明:

+0

我在我的類路徑中有這些JAR文件。 –

0

如果要讀取圖像並將其存儲到Mat變量中,您可以簡單地使用Highgui.imread()。當Opencv給你所有你需要的東西時,我不明白你爲什麼要使用JavaCv。

+0

Highgui模塊已停產,不是嗎?在當前版本中它會是'Imgcodecs.imread()'。 當事情不像他們應該做的那樣,這只是令人沮喪。 –

+0

是的,我正在使用opencv 2.4.13所以它是Highgui.imread()對我來說。但是從Opencv 3.0版本開始,它變成了Imgcodecs。 –