绘制矩形边框始终为白色(在实时摄像机流上)

Posted

技术标签:

【中文标题】绘制矩形边框始终为白色(在实时摄像机流上)【英文标题】:Drawing rectangle border is always white (on live camera stream) 【发布时间】:2016-03-07 09:02:41 【问题描述】:

我正在使用这个函数在图像上绘制一个矩形(不是灰度):

cv::rectangle(image, cv::Point(fx1,fy1), cv::Point(fx2,fy2), CV_RGB(0,255,0), +3, CV_AA);

问题是边框不是绿色,而是白色。事实上,我选择什么颜色参数并不重要——它总是白色的。

更新

矩形是在相机流上绘制的,每一帧

- (void)processImage:(Mat&)image

会不会是副作用?如何预防?

【问题讨论】:

【参考方案1】:

不要使用 CV_RGB(0,255,0),因为 Alpha 通道。

试试这个,cv::Scalar(0,255,0,255)(R、G、B、Alpha)。

cv::rectangle(image, cv::Point(fx1,fy1), cv::Point(fx2,fy2), cv::Scalar(0,255,0,255), +3, CV_AA);

【讨论】:

是的,我错过了 alpha。谢谢你。

以上是关于绘制矩形边框始终为白色(在实时摄像机流上)的主要内容,如果未能解决你的问题,请参考以下文章

边框绘制函数

将网络摄像头/摄像头视频流上传到服务器的 HTML5 解决方案

显示尽可能大的所有小部件

可绘制矩形左边框上的垂直可绘制线?

opencv&mediapipe 人脸检测+摄像头实时

unity3D 将面片始终面向摄像机怎么弄?