Java 无法从opencv在unix上处理映像,但同一程序可在windows上运行

Java 无法从opencv在unix上处理映像,但同一程序可在windows上运行,java,linux,opencv,image-processing,computer-vision,Java,Linux,Opencv,Image Processing,Computer Vision,我已经在windows平台上测试了我的程序,效果非常好。但当我尝试在Unix的Raspbian上运行它时,它并没有在iplcvLoadimage之后更进一步 有什么问题吗 这是我的密码 mport com.googlecode.javacv.cpp.opencv_core.CvPoint; 导入com.googlecode.javacv.cpp.opencv_core.IplImage; 导入静态com.googlecode.javacv.cpp.opencv_core.cvSize; 导入静

我已经在windows平台上测试了我的程序,效果非常好。但当我尝试在Unix的Raspbian上运行它时,它并没有在iplcvLoadimage之后更进一步

有什么问题吗

这是我的密码

mport com.googlecode.javacv.cpp.opencv_core.CvPoint;
导入com.googlecode.javacv.cpp.opencv_core.IplImage;
导入静态com.googlecode.javacv.cpp.opencv_core.cvSize;
导入静态com.googlecode.javacv.cpp.opencv_core.cvZero;
导入静态com.googlecode.javacv.cpp.opencv_core.cvMinMaxLoc;
导入静态com.googlecode.javacv.cpp.opencv_core.IPL_DEPTH_32F;
导入静态com.googlecode.javacv.cpp.opencv_core.cvCreateImage;
导入静态com.googlecode.javacv.cpp.opencv_imgproc.cvMatchTemplate;
导入静态com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;
导入静态com.googlecode.javacv.cpp.opencv_imgproc.CV_TM_SQDIFF;
导入java.io.File;
导入java.util.ArrayList;
导入java.util.HashMap;
导入org.opencv.core.core;
公共类MatchTemplateTest{
公共静态HashMap getPatternMatch(字符串img)
{
ArrayListnames=新的ArrayList();
HashMap MatchMap=新HashMap();
文件[]f=null;
尝试
{
字符串路径=新文件(新文件(“.”).getCanonicalPath()+“/Output”+“/Logo”).getAbsolutePath();
f=新文件(路径).listFiles();
}捕获(例外e){
}
IplImage src=null;
试一试{
//这就是问题所在
src=cvLoadImage(img,0);
//无法进一步处理
}捕获(例外e){
系统输出打印项次(“错误”+e);

}
如果问题在于读取图像,则有两种可能

  • 映像不存在,或者映像的路径错误。在*nix中,路径用斜杠“/”分隔,例如/home/asharma/data/myimage.pgm,但在windows中,路径用反斜杠分隔,例如C:\User\data\My image.pgm
  • 库的版本中不存在该图像的图像解码器。例如,如果该图像为PNG格式,但opencv未使用PNG编译,则无法读取该图像

  • System.out.println(“ERROR”+e);
    的输出是什么?

    如果问题是读取图像,那么有两种可能

  • 映像不存在,或者映像的路径错误。在*nix中,路径用斜杠“/”分隔,例如/home/asharma/data/myimage.pgm,但在windows中,路径用反斜杠分隔,例如C:\User\data\My image.pgm
  • 库的版本中不存在该图像的图像解码器。例如,如果该图像为PNG格式,但opencv未使用PNG编译,则无法读取该图像

  • System.out.println(“ERROR”+e);
    的输出是什么?

    谢谢。选项1可能是可能的。我试图打印异常,它还说“未满足的链接错误:java.library.path中没有jniopencv\u highgui”然后,是选项2。您的opencv版本没有使用highgui模块编译。请尝试自己编译库,或者检查jre路径是否正确。这是我的最佳猜测。您能告诉我怎么做吗?谢谢。可能是选项1。我试着打印异常,也就是说“未满足的链接错误:java.library.path中没有jniopencv_highgui“那么,是选项2。您的opencv版本不是用highgui模块编译的。请尝试自己编译库,或者检查jre路径是否正确。这是我的最佳猜测。您能告诉我怎么做吗?谢谢。可能是选项1。我试着打印异常,也就是说“不满意的链接错误:java.library.path中没有jniopencv\u highgui”然后,这是选项2。您的opencv版本没有使用highgui模块编译。请尝试自己编译库,或者检查jre路径是否正确。这是我的最佳猜测。您能指导我怎么做吗?