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();
	}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章