当前位置:  技术问答>linux和unix

V4L图像采集程序

    来源: 互联网  发布时间:2016-09-26

    本文导语:  今天看了一篇关于V4L图像采集程序的代码 如下: int main() {     char *buffer=NULL;     v4ldevice VD;     v4ldevice *vd=&VD;     int frame=0;     int f_d;     f_d=open(DEFAULT_FILE_NAME,O_RDWR|O_CREAT,0666);//获取文件的描述符 ...

今天看了一篇关于V4L图像采集程序的代码
如下:
int main()
{

    char *buffer=NULL;
    v4ldevice VD;
    v4ldevice *vd=&VD;

    int frame=0;
    int f_d;

    f_d=open(DEFAULT_FILE_NAME,O_RDWR|O_CREAT,0666);//获取文件的描述符
    
    if(0==v4l_open("/dev/video0",vd)) //打开设备
        printf("open success!n");
    else 
        printf("open failuren");
//    set (vd);
    if(0==v4l_set_norm(vd,norm))
        printf("set_norm successn");
    else
        printf("set_norm failuren");
    if(0==v4l_grab_init(vd,NTSC_WIDTH,NTSC_HEIGHT))//初始化设备,定义获取图像的大小
        printf("init success!n");
    else
        printf("init failuren");
    if(0==v4l_mmap_init(vd))//内存映射
        printf("memory map success!n");
    else
        printf("memory map failuren");
    if(0==v4l_grab_start(vd,frame))//开始获取图像
        printf("get picture success!n");
    else
        printf("get picture failuren");     

   v4l_grab_sync(vd,frame);//等待传完一帧
        
        buffer=(char *)v4l_get_address(vd);//得到这一帧的地址
        printf("img address %pn",buffer);

    write(f_d,buffer,NTSC_WIDTH*3*NTSC_HEIGHT);//报存到文件中    

    v4l_close(vd);
    return 0;
    
}

我想问几个小问题。
1、    f_d=open(DEFAULT_FILE_NAME,O_RDWR|O_CREAT,0666);//获取文件的描述符
 这行的0666是什么权限,我查了百度,只有诸如000001之类的权限。
2、   write(f_d,buffer,NTSC_WIDTH*3*NTSC_HEIGHT);//报存到文件中 
 为什么字节数是NTSC_WIDTH*3*NTSC_HEIGHT,尤其是中间那个3,搞不明白。。。

先问这2个小问题吧,望指教!!

|
1、看一下linux下有关文件权限吧,如777、775之类的,前面那个0估计是8进制的意思,这里其实可以不使用,我open设备就不使用;
2、那个3,看一下图像处理方面的知识吧,好像是一个像素有3个字节,长*宽*3,写入文件大小。

不当之处,楼下指正。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 新人开发V4L程序碰到的问题
  • v4l 如何入手?
  • 关于v4l编程问题
  • 关于摄像头的v4l模块的问题,请不吝赐教!
  • 高分求教,如何用v4l或者v4l2 截取mpeg 或者mpeg4 文件~~
  • 想在linux下实现用v4l捕获摄像头数据再用ffmpeg编码为h.264格式
  • 请教V4L摄像头在xawtv中只显示半个画面红色条纹的原因
  • 请问V4L在哪里啊,需要打usb-2.4.31LE06.patch补丁然后重新编译内核才出现吗?
  • linux V4L FM驱动的问题
  • 关于V4L2驱动中V4L2_MEMORY_USERPTR的问题
  • v4l videopict 设置问题!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3