gpt4 book ai didi

java - 无法从 opencv 处理 unix 上的图像,但相同的程序可在 windows 上运行

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:28:41 25 4
gpt4 key购买 nike

我已经在 windows 平台上测试了我的程序,运行良好。但是当我尝试在 Unix 的 Raspbian 上运行它时,它在 iplcvLoadimage 之后并没有走得更远。

可能是什么问题?

这是我的代码

mport com.googlecode.javacv.cpp.opencv_core.CvPoint;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import static com.googlecode.javacv.cpp.opencv_core.cvSize;
import static com.googlecode.javacv.cpp.opencv_core.cvZero;
import static com.googlecode.javacv.cpp.opencv_core.cvMinMaxLoc;
import static com.googlecode.javacv.cpp.opencv_core.IPL_DEPTH_32F;
import static com.googlecode.javacv.cpp.opencv_core.cvCreateImage;
import static com.googlecode.javacv.cpp.opencv_imgproc.cvMatchTemplate;
import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;
import static com.googlecode.javacv.cpp.opencv_imgproc.CV_TM_SQDIFF;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import org.opencv.core.Core;

public class MatchTemplateTest {

public static HashMap<String,Double> getPatternMatch(String img)
{
ArrayList<String>names=new ArrayList<>();
HashMap<String,Double> MatchMap=new HashMap<>();

File []f=null;
try
{

String path=new File(new File(".").getCanonicalPath()+"/Output"+"/Logo").getAbsolutePath();
f=new File(path).listFiles();
} catch (Exception e) {
}
IplImage src=null;
try {

// this is where the problem is

src= cvLoadImage(img,0);

// can not process further
} catch (Exception e) {
System.out.println("ERROR "+e);
}

最佳答案

如果问题出在读图上,那么有两种可能

  1. 图片不存在,或者图片路径错误。在 *nix 中,路径用斜杠“/”分隔,例如/home/asharma/data/myimage.pgm,但在 Windows 中用反斜杠分隔,例如C:\User\Data\My Image.pgm
  2. 图像的图像解码器在库版本中不存在。例如,如果图片是PNG格式,但是opencv不是用PNG编译的,那么你就无法读取图片。

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

关于java - 无法从 opencv 处理 unix 上的图像,但相同的程序可在 windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30681678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com