gpt4 book ai didi

c++ - OpenCV inRange() 函数

转载 作者:太空狗 更新时间:2023-10-29 21:37:17 27 4
gpt4 key购买 nike

我尝试运行以下代码:

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;


int main() {

VideoCapture cap;
cap.open(0);


while (1) {

Mat src;
Mat threshold;

cap.read(src);

inRange(src, Scalar(0, 0, 0), Scalar(255, 0, 0), threshold);
imshow("thr", threshold);
imshow("hsv", src);

waitKey(33);
}
return 0;
}

但它似乎没有过滤,因为当我运行代码时只出现一个空白窗口。

如何获取检测红色的代码?

最佳答案

你必须像这样修改 inRange 函数:

inRange(src, Scalar(0, 0, 0), Scalar(255, 255, 255), threshold);

如果您尝试仅对第一个 channel (蓝色 channel )设置阈值,那么您必须释放其他 channel ,因此在 lawerb 中将其设置为 0 及其dtype,对于np.uint8

,通常是 255

例如

inRange(src, Scalar(0, 50, 0), Scalar(255, 100, 255), threshold);

此行将比较第二个 channel (绿色 channel )并忽略其他 channel 。

关于c++ - OpenCV inRange() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38082004/

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