opencv 读取 yuv(4:2:0)
来源:互联网 发布:avr单片机微信群 编辑:程序博客网 时间:2024/05/22 12:28
#include <opencv/highgui.h>#include <stdio.h> //#include <>#define nWidth 352#define nHeight 288#define FrameSize nWidth*nHeight*3/2int _tmain(int argc, _TCHAR* argv[]){ /*IplImage *img = cvLoadImage("D:\\workspace\\cv_yun\\DSC_1598.JPG"); cvNamedWindow("a"); cvShowImage("a",img); cvWaitKey(0); */ FILE *f ; if(!(f = fopen("目录\\foreman_cif.yuv","rb"))) { printf("file open error!"); } // calculate the frame num fseek(f, 0, SEEK_END); int frame_count = 0; long file_size = 0; frame_count = (int) ((int)ftell(f)/((nWidth * nHeight * 3) / 2)); // ftell 用于求文件大小 printf("frame num is %d \n", frame_count); printf("file length is %d",ftell(f)); fseek(f, 0, SEEK_SET);//文件内位置定位到文件头 //IplImage *img = cvCreateImage(cvSize(352,288),IPL_DEPTH_8U,1); //IplImage *grey; IplImage *yimg = cvCreateImage(cvSize(nWidth, nHeight),IPL_DEPTH_8U,1); //IplImage *uimg = cvCreateImageHeader(cvSize(nWidth/2, nHeight/2),IPL_DEPTH_8U,1); //IplImage *vimg = cvCreateImageHeader(cvSize(nWidth/2, nHeight/2),IPL_DEPTH_8U,1); //----------------------------------------------------------------------实现读取一个文件 显示照片 unsigned char *pBuf = new unsigned char[nWidth*nHeight*3/2]; fread(pBuf, 1, (nWidth * nHeight * 3) / 2, f);// nWidth*nHeight*3/2 means 本程序使用 yuv:4:2:0 yuv分为 Y Cb Cr 三部分 cvSetData(yimg, pBuf, nWidth); cvNamedWindow("a"); cvShowImage("a", yimg); cvWaitKey( 0 ); //----------------------------------------------------------------------读取yuv文件的y部分 类似于播放器效果 /*unsigned char *pBuf = new unsigned char[nWidth*nHeight*3/2]; int pos = 0; for(int i = 0; i<frame_count-1; i++ ) { fseek(f, pos, SEEK_SET); fread(pBuf,1 , FrameSize, f ); cvSetData(yimg, pBuf, nWidth); cvNamedWindow("a"); cvShowImage("a", yimg); cvWaitKey( 33 ); pos += FrameSize; } */ cvDestroyWindow("a"); cvReleaseImage(&yimg); delete []pBuf; fclose(f); return 0;}
原文链接http://blog.csdn.net/david412306524/article/details/7672517
0 0
- opencv 读取 yuv(4:2:0)
- opencv 读取 yuv(4:2:0)
- opencv 读取 yuv(4:2:0)
- opencv 读取yuv格式数据文件
- opencv读取yuv序列到opencv 1.0 图片格式IplImage
- OpenCv 下读取摄像头并保存成yuv图像
- 读取yuv并转化为RGB数据在Opencv中打开显示
- 读取yuv并转化为RGB数据在Opencv中打开显示
- 读取yuv并转化为RGB数据在Opencv中打开显示
- 读取yuv并转化为RGB数据在Opencv中打开显示
- 读取YUV视频文件
- Python读取YUV
- 读取YUV视频文件
- yuv文件的读取
- yuv转opencv中的IplImage
- yuv转opencv中的IplImage
- Python_yuv读取,yuv转rgb
- 读取YUV格式视频函数
- SciPy 基础
- 黑马程序员——OC语言——内存管理
- 1501091239-蓝桥杯-基础练习 十六进制转八进制
- 内存空间分几部分:代码段、数据段,栈,堆 (收集整理)
- s3c2440的系统时钟
- opencv 读取 yuv(4:2:0)
- 2015-1-14 皇御贵金属晚评 日内金银大幅回落 关注数据能否提振
- easy ui datagrid checkbox 默认选中问题
- Fedora21安装unrar
- Linux文件系统启动过程及login的实现 (busybox)
- mysql同步复制抛Got fatal error 1236 Slave can not handle replication events with the checksum
- 将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。(需考虑多种不合法的情况尽量转化为合法的)
- RocketMQ在Windows平台下环境搭建
- 设计模式初探