gpt4 book ai didi

c++ - 颜色检测中打开 cvtColor 速度太慢

转载 作者:太空狗 更新时间:2023-10-29 20:55:30 26 4
gpt4 key购买 nike

我正在尝试从连续的 IP 摄像机输入中检测颜色,但是 cvtColor 使代码非常慢。有没有一种方法可以直接从实时视频中检测颜色而无需将 RGB 转换为 HSV?这是我的代码-

VideoCapture capture(The address of camera);
...
while (true)
{
Mat frame;
if (!capture.read(frame))
break;
imshow("Live Video", frame);
Mat imgHSV;
cvtColor(frame, imgHSV, COLOR_BGR2HSV); // <- This code makes the app sloooow !!!
Mat imgThresholded;
inRange(imgHSV, Scalar(lowH, lowS, lowV), Scalar(highH, highS, highV), imgThresholded);
imshow("Thresholded Image", imgThresholded);
}

感谢您的帮助!

最佳答案

感谢 Micka 和 Jaka Konda,我可以将延迟减少到最低限度。首先,我通过将 Mats 放在 While 循环之前来预先分配它们。然后,在 Release 模式下编译应用程序。这一步大大提高了速度。

更新 -

我发现了另一种可以将速度提高一千倍的方法——使用 CUDA OpenCV。 (它可以与 Visual Studio 2015 一起使用,甚至可以与 Visual Studio 2013 库一起使用)。

关于c++ - 颜色检测中打开 cvtColor 速度太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35535162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com