火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 737|回复: 11
打印 上一主题 下一主题

实时摄像头抓取

[复制链接]

51

主题

175

帖子

1059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1059
跳转到指定楼层
楼主
发表于 2024-2-12 09:54:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<火山程序 类型 = "通常" 版本 = 1 />
视频.打开相机 (0, )
视频.取当前帧 (采集图像)
分割文本 (类别, ",", 类别数组)
目标检测分类器.预测图像 (采集图像, 0.5, , , , Boxs)
t1 = 取启动时间 ()
绘制Box图像 = 采集图像.复制 ()

这个代码只能抓取一帧,如何一直不停抓取

回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
36367
沙发
发表于 2024-2-12 16:39:20 | 只看该作者
用时钟循环试试。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

51

主题

175

帖子

1059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1059
板凳
 楼主| 发表于 2024-2-12 17:42:24 | 只看该作者
创世魂 发表于 2024-2-12 16:39
用时钟循环试试。

用时钟循环不到1分钟自己就崩溃了
回复

使用道具 举报

1

主题

31

帖子

279

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
279
地板
发表于 2024-2-22 18:37:48 | 只看该作者
zhh044 发表于 2024-2-12 17:42
用时钟循环不到1分钟自己就崩溃了

你的研究出来没有,怎么实时抓取
回复

使用道具 举报

51

主题

175

帖子

1059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1059
5#
 楼主| 发表于 2024-2-23 23:54:36 | 只看该作者
tangtang 发表于 2024-2-22 18:37
你的研究出来没有,怎么实时抓取

<火山程序 类型 = "通常" 版本 = 1 />
判断循环 (采集帧.是否为空 () == 假)
{
    采集帧.释放 ()
    视频.取当前帧 (采集帧)
    如果 (采集帧.是否为空 () == 真)
    {
        返回 (1)
    }
    // 4、实时更新跟踪器,输入一张新的图像,会输出一个找到的目标矩形框
    跟踪器.更新跟踪器 (采集帧, ROI)
    CV核心.画矩形 (采集帧, ROI, CV标量类.新建三通道 (255, 0, 0))
    CV核心.显示图像 ("跟踪显示_按下ESC键退出", 采集帧, , )
    // 5、释放矩阵以节约资源
    如果 (CV核心.等待按键 (5) == 27)
    {
        跳出循环
    }
}
返回 (1)
回复

使用道具 举报

1

主题

90

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
6#
发表于 2024-2-28 15:01:41 | 只看该作者
一直运行一直能抓取啊
回复

使用道具 举报

51

主题

175

帖子

1059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1059
7#
 楼主| 发表于 2024-2-28 15:08:52 | 只看该作者
zzr1122333 发表于 2024-2-28 15:01
一直运行一直能抓取啊

我总是崩溃,我用的是时钟抓取,不知道错误在哪?
回复

使用道具 举报

51

主题

175

帖子

1059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1059
8#
 楼主| 发表于 2024-2-28 16:11:00 | 只看该作者
  1. while (true) {

  2.         // 从摄像头捕获一帧图像

  3.         cv::Mat frame;

  4.         cap >> frame;

  5. while (true) {
  6. // 从摄像头捕获一帧图像
  7. cv::Mat frame;
  8. cap >> frame;

  9. if (frame.empty()) {
  10. std::cerr << "无法捕获图像" << std::endl;
  11. break;
  12. }

  13. // 在窗口中显示图像
  14. cv::imshow("摄像头预览", frame);

  15. // 等待用户按键,如果是'q'则退出循环
  16. char c = (char)cv::waitKey(25);
  17. if (c == 'q' || c == 27) {
  18. break



  19.         if (frame.empty()) {

  20.             std::cerr << "无法捕获图像" << std::endl;

  21.             break;

  22.         }



  23.         // 在窗口中显示图像

  24.         cv::imshow("摄像头预览", frame);



  25.         // 等待用户按键,如果是'q'则退出循环

  26.         char c = (char)cv::waitKey(25);

  27.         if (c == 'q' || c == 27) {

  28.             break
复制代码

请大佬帮我翻译成火山视窗代码
回复

使用道具 举报

1

主题

90

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
9#
发表于 2024-4-4 08:43:18 | 只看该作者
zhh044 发表于 2024-2-28 15:08
我总是崩溃,我用的是时钟抓取,不知道错误在哪?

你代码跟我的不一样
回复

使用道具 举报

51

主题

175

帖子

1059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1059
10#
 楼主| 发表于 2024-4-4 11:38:22 | 只看该作者
zzr1122333 发表于 2024-4-4 08:43
你代码跟我的不一样

waitkey不能等于0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-3 06:02 , Processed in 0.093760 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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