在Java中加载OpenCV以进行图像处理时出错

时间:2015-06-18 22:22:01

标签: java opencv image-processing imagej jama

我在使用Java(Eclipse,Mac OSX)加载OpenCV时遇到了问题。我是Java的新手,我的主要目标是图像处理。我在网上查了几个例子,但实际上我的查询很少:

0)你真的可以告诉我如何在Mac OS X中的Eclipse中使用OpenCV库for Java吗?我只下载了jar并完成了导入....

1)以下是我的代码示例

Mat A = Highgui.imread("/Users/.../Dropbox/ImageJSpace/Image_0001.jpg", 1);
    Mat B = null;
    Imgproc.cvtColor(A, B, Imgproc.COLOR_BGR2GRAY);

    Highgui.imwrite("/Users/.../Dropbox/ImageJSpace/Image_0001gray.jpg", B);

在本节中,我只是尝试读取图像,隐藏到矩阵,灰度,然后再次保存到图像。在我在网上查看的例子中,他们提到了cvtColor但加班我尝试写它不起作用。我必须为这个新库中的每个关键字编写Highgui.cvtColor。

2)我收到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1764)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1044)
at org.opencv.highgui.Highgui.<clinit>(Highgui.java:416)
at Expertising.ImageModifications.Mat2Img(ImageModifications.java:382)
at Expertising.Main.main(Main.java:7)

我不知道如何摆脱这个......

3)为了清楚我的程序比本节长,我使用了以下导入:

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.highgui.Highgui;
import org.opencv.imgproc.Imgproc;

4)我想使用OpenCV处理DICOM图像。有没有一种方法可以解决这个问题?

5)我还导入了ImageJ库以使用DICOM。我可以打开并显示。我可以阅读和使用像素吗?

6)我主要研究DICOM图像中的结构张量。如何从DICOM中读取单个像素?

7)我正在研究方向性。有没有什么方法可以更好地探索它?

8)我可以将DICOM图像转换为Matrix,然后使用JAMA将像素作为矩阵进行探索吗?

请帮忙,非常感谢....

2 个答案:

答案 0 :(得分:1)

我对OpenCV一无所知,但这是一个关于如何使用OpenCV with Eclipse的教程。

至于DICOM,我找到this

  

OpenCV不支持DICOM图像,因此您必须找到合适的库(如http://dicom.offis.de/dcmtk.php.en)并将加载的图像转换为cv :: Mat。

我建议您使用OpenCV Questions网站来解决此问题。

答案 1 :(得分:0)

您是否已将OpenCV Core库添加到主要方法中?

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);