opencv识别颜色,python图像颜色识别
目标
在本教程中,您将学习以下内容:
使用OpenCV:in range函数执行基本阈值操作。
根据HSV颜色空间的像素值范围。
原则
在上一个教程中,您学习了如何使用cv: threshold函数来执行阈值处理。
在本教程中,您将学习如何使用cv :inRange函数来实现这一点。
概念保持不变,但现在添加了一系列必需的像素值。
HSV颜色空间
色调/饱和度/亮度(HSV)颜色空间是一种表示颜色空间的模型,如RGB颜色模型。根据色调通道对颜色类型进行建模对于需要按颜色分割对象的图像处理任务非常有用。色度的变化表示颜色成分的量。通道表示颜色的亮度。下图显示了HSV气缸图。
由于RGB颜色空间中的颜色由三个通道对编码,因此基于颜色分割图像中的对象更加困难。(在HSV中,只有一个色调通道表示颜色)
有关使用cv: cvtColor函数将一个颜色空间转换到另一个颜色空间的表达式,请参见颜色转换。
在))功能描述中
语音识别(inputarraysrc,
输入数组较低b,
进入数组更新程序,
输出数组dst
第一个参数:输入图像
第二个参数:h,S,V的最小值,比如标量(low_h,low_S,low_V))。
第三个参数:h,S,V的最大值,比如标量(low_h,low_S,low_V))。
第四个参数:输出图像必须和输入图像大小相同,并且是CV_8U。
源代码
#包括iostream
#include opencv2/imgproc.hpp
#include opencv2/highgui.hpp
使用名称空间cv;
int main())
{
videocapturecapture(0;
//[2]松散地显示每一帧。
while(1).
{
哑光图像;//定义Mat变量保存每一帧图像。
捕捉图像;//读取当前帧
//====================================
mat HSV=image . clone(;
mat frame _ threshold=image . clone(;
cvtcolor(image、hsv、COLOR _ bgr 2 HSV);
Low _ h=35;
Low _ s=43;
Low _ v=46;
双精度high _ h=77;
双精度高_ s=255
双精度高_ v=255
inrange(HSV,scalar ) low_h,low_S,low_V),scalar (high _ s,high_V),frame_threshold).
imshow(ini)、image);
imshow(out1)、HSV);
imshow(out2)、frame _ threshold);
等待键(30;//延迟30毫秒
}
0;
}
步骤描述
从默认或提供的捕获设备捕获视频流。
int main())
{
videocapturecapture(0;
//[2]松散地显示每一帧。
while(1).
{
哑光图像;//定义Mat变量保存每一帧图像。
捕捉图像;//读取当前帧
//====================================
定义图像
mat HSV=image . clone(;
mat frame _ threshold=image . clone(;
转换色彩空间
cvtcolor(image、hsv、COLOR _ bgr 2 HSV);
设置HSV值的范围。
Low _ h=35;
Low _ s=43;
Low _ v=46;
双精度high _ h=77;
双精度高_ s=255
双精度高_ v=255
基于HSV距离的图像检测
inrange(HSV,scalar ) low_h,low_S,low_V),scalar (high _ s,high_V),frame_threshold).
显示结果
imshow(ini)、image);
imshow(out1)、HSV);
imshow(out2)、frame _ threshold);
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。