主题 : tiny210摄像头 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 88193
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2013-03-05
最后登录: 2014-05-08
楼主  发表于: 2013-04-08 12:05

 tiny210摄像头

tiny210要读取摄像头文件是哪个呢?
/dev/video0?
/dev/video1?
/dev/video2?
/dev/video3?


用opencv一直读取失败!
级别: 新手上路
UID: 88193
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2013-03-05
最后登录: 2014-05-08
1楼  发表于: 2013-04-08 16:33
友善,你那优质的售后服务被狗吃了吗!
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
2楼  发表于: 2013-04-08 20:29
什么摄像头? CMOS OR USB?

这些设备文件是动态分配的,不是固定的,你得自已调用去/sys相关节点去查询,这些接口都是标准的LINUX接口,
当只有一个设备时,一般是 /dev/video0
级别: 新手上路
UID: 88193
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2013-03-05
最后登录: 2014-05-08
3楼  发表于: 2013-04-25 20:29

 回 2楼(xoom) 的帖子

usb的!
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
4楼  发表于: 2013-04-25 23:58
帖两段代码,分别获取CMOS和USB摄像头的设备名称:

static const char* getCMOSCameraDeviceName()
{
    const char* const devInfoNames[DEVICE_MAX] = {
        "/sys/class/video4linux/video0/name"
        , "/sys/class/video4linux/video2/name"};

    const char* const devNames[DEVICE_MAX] = {
        "/dev/video0"
        , "/dev/video2"};

    FILE* f;
    int i;
    for (i=0; i<DEVICE_MAX;i++) {
        f = fopen( devInfoNames, "r" );
        if (f == NULL) {
            continue;
        }

        char buff[256] = {0};
        int ret = 0;

        if (fread(buff, 1, 255, f) <= 0) {
            continue;
        }
        fclose( f );

        const char* fstr = "s3c-fimc";
        if (strstr(buff, fstr) != NULL) {
            break;
        }
    }
    if (i>=DEVICE_MAX) {
        return 0;
    }
    return devNames;
}

static const char* getUSBCameraDeviceName()
{
    const char* const devInfoNames[2] = {"/sys/class/video4linux/video0/name"
        , "/sys/class/video4linux/video3/name"};

    const char* const devNames[2] = {"/dev/video0"
        , "/dev/video3"};

    FILE* f;
    int i;
    for (i=0; i<2; i++) {
        f = fopen( devInfoNames, "r" );
        if (f == NULL) {
            continue;
        }
        char buff[256] = {0};
        int ret = 0;

        if (fread(buff, 1, 255, f) <= 0) {
            continue;
        }
        fclose( f );
        if (strstr(buff, "s3c-fimc") == NULL) {
            break;
        }
    }
    if (i>=2) {
        return 0;
    }
    return devNames;
}
级别: 侠客
UID: 63868
精华: 0
发帖: 56
金钱: 280 两
威望: 56 点
综合积分: 112 分
注册时间: 2012-02-25
最后登录: 2015-04-28
5楼  发表于: 2014-04-11 20:39
没插摄像头的时候在超级终端输入:
[root@FriendlyARM /]# cd /dev
[root@FriendlyARM /dev]# ls

看显示出的文件,找到video,一般会有几个,然后插上摄像头,重复上面的命令,看多出来的那个video就是你摄像头的。

ps:之前用过tiny210,是video3.
级别: 新手上路
UID: 114822
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
综合积分: 26 分
注册时间: 2015-04-25
最后登录: 2016-07-16
6楼  发表于: 2016-05-07 18:27
我用opencv也是打不开,我的也是usb的摄像头,请问楼主解决了么?