opencv
OpenCV Python에서 VideoCapture 사용하기
수색…
미리 캡처 한 비디오에서 프레임 읽기
import numpy as np
import cv2
#access a video from your disk
#to use the GIF in this example, convert to avi!
cap = cv2.VideoCapture('eg_videoRead.avi')
#we are going to read 10 frames
#we store the frames in a numpy structure
#then we'll generate a minimum projection of those frames
frameStack=[]
numFrames=10
for fr in range(numFrames):
cap.set(cv2.CAP_PROP_POS_FRAMES,fr) #specifies which frame to read next
frame=cap.read() #read the frame
#gray = cv2.cvtColor(frame[1], cv2.COLOR_BGR2GRAY) #convert to gray scale
frameStack.append(frame[1]) #add current frame to our frame Stack
minProjection=np.min(frameStack,axis=0) #find the minimum across frames
cv2.imshow("projection", minProjection) #show the result
OpenCV Java에서 VideoCapture 사용하기
자바에는 imshow가 없다. 이것을위한 메소드를 작성해야한다. 이 메소드는 Mat2bufferedImage입니다. 매개 변수로 mat 객체를 가져 와서 이미지를 반환합니다.
public static void main(String[] args) {
Mat frame = new Mat();
//0; default video device id
VideoCapture camera = new VideoCapture(0);
JFrame jframe = new JFrame("Title");
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel vidpanel = new JLabel();
jframe.setContentPane(vidpanel);
jframe.setVisible(true);
while (true) {
if (camera.read(frame)) {
ImageIcon image = new ImageIcon(Mat2bufferedImage(frame));
vidpanel.setIcon(image);
vidpanel.repaint();
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow