ChenWu_lyz 2021-12-02 14:30 采纳率: 100%
浏览 166
已结题

如何利用opencv读取视频流每帧图像特定位置的数据?

我有一个用硬触发拍照的摄像头,摄像头软件在传回图像的


```c
imageData+0x18

位置写入的开始曝光的时间我现在就想读取他。
我现在用打开图片的方式做测试,看能不能读取到图片中的数据,但失败了

```c++
    IplImage *frame = cvLoadImage("./2021080813114602676-10.jpg");

    union {unsigned int i;unsigned char c[4];} ui_c[2];
    unsigned char *s=(unsigned char *)frame->imageData+0x18;

    unsigned int t1[2];
    ui_c[0].c[0]=s[3];ui_c[0].c[1]=s[2]; ui_c[0].c[2]=s[1];ui_c[0].c[3]=s[0];
    ui_c[1].c[0]=s[7];ui_c[1].c[1]=s[6]; ui_c[1].c[2]=s[5];ui_c[1].c[3]=s[4];

   t1[0]=ui_c[0].i; t1[1]=ui_c[1].i;

我现在用这段代码读取的数据好像不对,下面是显示结果的代码:


```c++
     QString sMsg = QString("[%1]t1[0]->%2;t2[0]->%3")
                .arg(QDateTime::currentDateTime().toString(tr("yyyy-MM-dd hh:mm:ss.zzz")))
                .arg(QString::number(t1[0], 'g', 12))
                .arg(QString::number(t1[1], 'g', 12));
      fun.saveQStringToFile(strMessageFile, sMsg);


得到的结果是
```c
t1[0]=2004318072;t2[0]=2021161080

但实际应该是464554,467415。
我用的是opencv3.4.14,自己编译的,是release版本

我就希望可以得到正确的数据。

  • 写回答

2条回答 默认 最新

  • ChenWu_lyz 2021-12-03 10:18
    关注

    想得到视频流的二进制数据,难道只能使用cvcamSetProperty,调用回调函数吗?大神们呀,在线等

    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 赞助了问题酬金 12月3日
  • 创建了问题 12月2日

悬赏问题

  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决