龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3320|回复: 2

USB中星微zc301p摄像头驱动和通过摄像头抓取图片的c程序

[复制链接]

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2015-10-30 21:46:08 | 显示全部楼层 |阅读模式
USB中星微zc301p摄像头
Device Drivers  --->
  <*> Multimedia support  --->
    <*>   Video For Linux
    [*]   Video capture adapters (NEW)  --->
      [*]   V4L USB devices (NEW)  --->
        <*>   USB Video Class (UVC)
        [*]     UVC input events device support (NEW)
        <*>   GSPCA based webcams  --->   注意:这里不要设为M
          <*>   ZC3XX USB Camera Driver
         

  [*] USB support  --->
    <*>   EHCI HCD (USB 2.0) support
    [*]     OHCI support for loognson1 chips
    <*>   OHCI HCD support
    [*]     OHCI support for loognson1 chips
   
    测试程序(通过摄像头抓取图片)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <string.h>
#include <linux/videodev2.h>


int main()
{   
    struct v4l2_capability cap;
    struct v4l2_format fmt;
    int fd = 0;
    void *buff = NULL;
    int size = 0;

    fd = open("/dev/video0", O_RDWR);

    ioctl(fd, VIDIOC_QUERYCAP, &cap);

    fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    fmt.fmt.pix.width  = 640;
    fmt.fmt.pix.height = 480;
    fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG; // 使用JPEG格式帧,用于静态图像采集
    ioctl(fd, VIDIOC_S_FMT, &fmt);

    buff = malloc(1024 * 1024); // 分配缓存足以容纳一帧图像
    size = read(fd, buff, 1024 * 1024);
    int filefd = open("./capture.jpg", O_RDWR | O_CREAT);
    write(filefd, buff, size);
   
    return 0;
   
}

5

主题

11

帖子

478

积分

中级会员

Rank: 3Rank: 3

积分
478
发表于 2015-10-31 15:14:13 | 显示全部楼层
赞。找个摄像头学习。

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
 楼主| 发表于 2015-11-2 09:06:01 | 显示全部楼层
从长计议 发表于 2015-10-31 15:14
赞。找个摄像头学习。

USB 中星微的zc301p,淘宝上很多,我这个都是好几年前买的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-4-28 01:17 , Processed in 0.136382 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表