, , , AVISaveOptions(...). , , , - 799 fourcc.
:
- foo.avi 1 , .
- foo.avi
cv::VideoCapture. CAP_PROP_FOURCC cv::VideoCapture.- .
- [] bar.avi 1 FOURCC, 3. foo.avi bar.avi, , .
, #/EmguCV, , .
++
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
{
cv::VideoWriter outputVideo;
outputVideo.open("foo.avi", -1, 25.0, cv::Size(640, 480), true);
cv::Mat frame(480, 640, CV_8UC3);
outputVideo.write(frame);
}
cv::VideoCapture inputVideo("foo.avi");
int fourcc = static_cast<int>(inputVideo.get(CV_CAP_PROP_FOURCC));
char FOURCC_STR[] = {
(char)(fourcc & 0XFF)
, (char)((fourcc & 0XFF00) >> 8)
, (char)((fourcc & 0XFF0000) >> 16)
, (char)((fourcc & 0XFF000000) >> 24)
, 0
};
std::cout << "FOURCC is '" << FOURCC_STR << "'\n";
return 0;
}
:
FOURCC is 'DIB '
Python
import cv2
import numpy as np
import struct
outputVideo = cv2.VideoWriter()
outputVideo.open("foo.avi", -1, 25, (640,480), True)
frame = np.zeros((480,640,3), dtype=np.uint8)
outputVideo.write(frame)
outputVideo.release()
inputVideo = cv2.VideoCapture("foo.avi")
fourcc = int(inputVideo.get(cv2.cv.CV_CAP_PROP_FOURCC))
print "FOURCC is '%s'" % struct.pack("<I", fourcc)
:
FOURCC is 'DIB '