主题 : tiny6410 cmos摄像头测试程序疑问 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 74945
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
综合积分: 100 分
注册时间: 2012-07-31
最后登录: 2018-05-03
楼主  发表于: 2012-08-14 11:34

 tiny6410 cmos摄像头测试程序疑问

class TVideo : public TRect {
    public:
        TVideo(const char *DeviceName = "/dev/video0"): TRect(), fd(-1) {
            Width = 640;
            Height = 512;
            BPP = 16;
            LineLen = Width * BPP / 8;
            Size = LineLen * Height;
            Addr = 0;
            fd = ::open(DeviceName, O_RDONLY);
            if (fd < 0) {
                printf("fd < 0,TryAnotherCamera\n");
                TryAnotherCamera();
            }

            Addr = new unsigned char<:Size:>;

            Clear();
        }

        bool FetchPicture() const {
            int count = ::read(fd, Addr, Size);
            printf("count:%d Size:%d\n",count,Size);//count 一直等于0
            if (count not_eq Size) {
                throw TError("error in fetching picture from video");
            }
            return true;
        }

        virtual ~TVideo() {
            ::close(fd);
            fd = -1;
            delete<::> Addr;
            Addr = 0;
        }

    protected:
        TVideo(const TVideo bitand);
        TVideo bitand operator=(const TVideo bitand);

    private:
        int fd;
        void TryAnotherCamera();

};
-------------------------------------------------------------------------------------------------------------------------------------------


bool FetchPicture() const {
            int count = ::read(fd, Addr, Size);
            printf("count:%d Size:%d\n",count,Size);
            if (count not_eq Size) {
                throw TError("error in fetching picture from video");
            }
            return true;
        }
count一直等于0,求解,在运行这程序之前还要进行什么初始化吗?
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-08-14 14:31
可能摄像头没接好或者有问题吧

先试试图形界面测试程序
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 74945
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
综合积分: 100 分
注册时间: 2012-07-31
最后登录: 2018-05-03
2楼  发表于: 2012-08-14 15:48
图形界面的是可以用,在使用了图像界面的程序后,就有数据了,但是图像没有变化,这些数据应该是qt程序遗留下来的
还有使用cat /dev/video0 > aaa.txt 也没有数据,大小是0个字节

求解啊
级别: 侠客
UID: 74945
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
综合积分: 100 分
注册时间: 2012-07-31
最后登录: 2018-05-03
3楼  发表于: 2012-08-14 16:24
[root@FriendlyARM /root]#
[root@FriendlyARM /root]#
[root@FriendlyARM /root]#
[root@FriendlyARM /root]# cat /dev/video
/dev/video0   /dev/video1   /dev/video14  /dev/video2
[root@FriendlyARM /root]# cat /dev/video0
[root@FriendlyARM /root]# cat /dev/video1
[root@FriendlyARM /root]# cat /dev/video1
[root@FriendlyARM /root]# cat /dev/video1
[root@FriendlyARM /root]# cat /dev/video0
[root@FriendlyARM /root]# cat /dev/video0
[root@FriendlyARM /root]#
以上是cmos摄像头的,没有数据


下面是usb摄像头的,有数据
cat /dev/video2
Bx��L����{���īs���23[E�:}HY�x��������J��dgZ������VV|ѡj���Fo��O��z�������M7rc�Q·��Ct��M�C���̇��3����{x���@flu4�5�y�PC|�H]�i^C

自带的qt cmos程序是能用,但是肯定有什么设置,不知道啊
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
4楼  发表于: 2012-08-14 18:41
可以参考我们提供的camtest

建议下载使用最新光盘中的
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.