zhh044 发表于 2024-2-12 09:54:28

实时摄像头抓取

<火山程序 类型 = "通常" 版本 = 1 />
视频.打开相机 (0, )
视频.取当前帧 (采集图像)
分割文本 (类别, ",", 类别数组)
目标检测分类器.预测图像 (采集图像, 0.5, , , , Boxs)
t1 = 取启动时间 ()
绘制Box图像 = 采集图像.复制 ()

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

创世魂 发表于 2024-2-12 16:39:20

用时钟循环试试。

zhh044 发表于 2024-2-12 17:42:24

创世魂 发表于 2024-2-12 16:39
用时钟循环试试。

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

tangtang 发表于 2024-2-22 18:37:48

zhh044 发表于 2024-2-12 17:42
用时钟循环不到1分钟自己就崩溃了

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

zhh044 发表于 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)

zzr1122333 发表于 2024-2-28 15:01:41

一直运行一直能抓取啊

zhh044 发表于 2024-2-28 15:08:52

zzr1122333 发表于 2024-2-28 15:01
一直运行一直能抓取啊

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

zhh044 发表于 2024-2-28 16:11:00

while (true) {

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

      cv::Mat frame;

      cap >> frame;

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

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

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

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



      if (frame.empty()) {

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

            break;

      }



      // 在窗口中显示图像

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



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

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

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

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

zzr1122333 发表于 2024-4-4 08:43:18

zhh044 发表于 2024-2-28 15:08
我总是崩溃,我用的是时钟抓取,不知道错误在哪?

你代码跟我的不一样

zhh044 发表于 2024-4-4 11:38:22

zzr1122333 发表于 2024-4-4 08:43
你代码跟我的不一样

waitkey不能等于0
页: [1] 2
查看完整版本: 实时摄像头抓取