我使用JavaCV在Android 4.0.3上运行错误
OpenCV Error: Assertion failed (ssize.area() > 0) in unknown function, file C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.cpp, line 1432
寻找功能......
Exception in thread "main" java.lang.RuntimeException: C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.cpp:1432: error: (-215) ssize.area() > 0
在com.googlecode.javacv.cpp.opencv_stitching$Stitcher.stitch(Native Method)
在Lesson3_Stitch.main(Lesson3_Stitch.java:17)
任何人都可以教我如何解决它?谢谢。
这是我的代码:
public static void main(String[] args) {
Stitcher stitcher = Stitcher.createDefault(true);
MatVector images = new MatVector(2);
images.put(0, cvLoadImage("sample1.png"));
images.put(1, cvLoadImage("sample2.png"));
IplImage result = new IplImage();
int status = stitcher.stitch(images, images);
if (status != Stitcher.OK) {
cvSaveImage("result.png", result);
System.out.println("cant stitch image" + status);
}
result = cvLoadImage("sample1.png");
final CanvasFrame canvas = new CanvasFrame("My Image", 1);
// Request closing of the application when the image window is closed.
canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
// Show image on window.
// canvas.showImage(result);
}
private static void cvSaveImage(String string, IplImage result) {
// TODO Auto-generated method stub
}
private static IplImage cvLoadImage(String string) {
// TODO Auto-generated method stub
return null;
}
答案 0 :(得分:0)
您需要为Android导入OpenCV,但由于您使用cvLoadImage的自定义函数返回null,因此代码无法正常工作。这不起作用。
您可以尝试使用CV.loadImage或某些变体。现在我没有OpenCV安装进行测试。
答案 1 :(得分:0)
我建议你做两件事:
首先,检查您是否有正确的导入:
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import com.googlecode.javacv.cpp.opencv_core.MatVector;
import com.googlecode.javacv.cpp.opencv_stitching.Stitcher;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
(对不起,我不知道为什么我不能把它们放在没有行间距的地方)。
其次,把图片的完整路径。当它找不到图像时发生在我身上。
images.put(0,cvLoadImage("/storage/sdcard0/Download/testpicture.JPG"));