JAVA使用opencv4.0调用海康摄像头RTSP流并在前台显示

直接上代码,关键位置是加载DLL

 

 

package mypkg;

import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgproc.Imgproc;
import org.opencv.videoio.VideoCapture;

public class TestRtsp {

	public static void main(String[] args) {
		System.out.println("###start rtsp test###");
		System.load("F:/lee/apps/opencv/build/java/x64/opencv_java400.dll");
		/// ***最重要的地方!!!一定要加载opencv_ffmpeg400_64.dll这个,要不然是无法解码的,就会失败****
		// 这个问题搞了我一整天 终于出来了
		System.load("F:/lee/apps/opencv/build/bin/opencv_ffmpeg400_64.dll");
		testRtsp();
		System.out.println("###end###");
	}

	private static void testRtsp() {
		VideoCapture vc = new VideoCapture();
		boolean isOpen = vc.open("rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov");
		System.out.println("isOpen="+isOpen);
		Mat mat = new Mat();
		String winName = "showFrame";
		int height = 600,width = 800;
		HighGui.namedWindow(winName);
		HighGui.resizeWindow(winName, width, height);
		while(vc.read(mat)){
			// 重置大小
			Mat dst = new Mat();
			Imgproc.resize(mat, dst, new Size(width,height));
			// 显示
			HighGui.imshow(winName, dst);
			// waitkey 必须要,否则无法显示
			int key = HighGui.waitKey(1);
			System.out.println("key="+key);
			if(key == 27){
				break;
			}
		}
		HighGui.destroyAllWindows();
		//
		vc.release();
	}

}

 

你可能感兴趣的:(java,opencv,rtsp,海康摄像头)