yuv数据解析
int main() {
int frame = 1362;
int img_data_len = (640 * 512 * 3 / 2) * frame;
unsigned char* img_data = new unsigned char[img_data_len];
fstream f("E:\\data\\1.yuv", ios::in | ios::binary);
f.read(reinterpret_cast<char*>(img_data), img_data_len);
Mat read_img(512 * 3 / 2, 640, CV_8UC1);
for (int i = 0; i < frame; i++) {
memcpy(read_img.data, img_data, 640 * 512 * 3 / 2);
img_data += 640 * 512 * 3 / 2;
Mat save_img;
cvtColor(read_img, save_img, cv::COLOR_YUV2BGR_I420);
string ss;
int a = (i) / 10;
if (a == 0)
ss = "000";
else if (a < 10)
ss = "00";
else if (a >= 10 && a < 100)
ss = "0";
else
ss = "";
imwrite("E:\\rgb\\" + ss + to_string(i) + ".jpg", save_img);
//cv::imshow("test", save_img);
waitKey(0);
}