我想用java写这个。但是有些东西是不能用java写的。这是我使用opencv 的c函数
include “highgui.h”
int main( int argc, char** argv ) {
IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow( “Example1”, CV_WINDOW_AUTOSIZE );
cvShowImage( “Example1”, img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( “Example1” );
}
这就是我在java中尝试的方式。但是cvShowImage、cvWaitKey、cvReleaseImage和cvDestroyWindow不能用同样的方式编写,我不知道如何将这些函数转换成java,即使我试着用谷歌搜索它。感觉也不好。这是我的java类
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import org.opencv.core.Core;
import org.opencv.highgui.*;
public class displayImage {
public static void main(String args[]){
try{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
File input = new File("/home/digital_image_processing.jpg");
BufferedImage image = ImageIO.read(input);
cvNamedWindow("MyImage",CV_WINDOW_AUTOSIZE);
cvShowImage("MyImage",image);
cvWaitKey(0);
cvReleaseImage(image);
cvDestroyWindow("MyImage");
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
没有对javaapi的gui支持,因此您无法打开(本机)窗口。
您将不得不求助于java,从垫子上制作一个BufferedImage,并将其显示在框架或画布上。