android opencv颜色识别,opencv学习(2)-简单颜色识别并跟踪

本文介绍如何使用OpenCV在Android设备上识别和跟踪蓝色物体。通过读取摄像头图像,转换到HSV色彩空间,设定蓝色范围,进行二值化处理,然后进行形态学操作和滤波。接着,利用Canny边缘检测找到轮廓,用矩形框出目标,并返回其坐标。代码示例展示了整个过程,未来可以进一步优化,如适应不同光照条件。
摘要由CSDN通过智能技术生成

本次来我们用opencv来实现识别跟踪蓝色物体并返回位置坐标的功能。

该功能分为两部分,识别颜色,跟踪颜色。

要想实现颜色的识别,我们要打开摄像头,读取捕获的图像。将图像的颜色通道转化为HSV,设置选取的特定颜色的参数。使用inRange函数将图像转变为二值图,其中蓝色部分显示为白色,其余为黑色。

代码:

VideoCapture cap(0);//打开摄像头

if ( !cap.isOpened() )

{

cout << "Cannot open the camera" << endl;

return -1;

}

int iLowH = 100; int iHighH = 140; int iLowS = 90; int iHighS = 255; int iLowV = 90; int iHighV = 255;//设置蓝色的颜色参量。

Mat imgOriginal; bool bSuccess = cap.read(imgOriginal); if (!bSuccess) { cout << "Cannot read a frame from video stream" << endl; break; } Mat imgHSV; vectorhsvSplit;

cvtColor(imgOriginal, imgHSV, COLOR_BGR2HSV);  //因为我们读取的是彩色图,直方图均衡化需要在HSV空间做

split(imgHSV, hsvSplit);

equalizeHist(hsvSplit[2],hsvSplit[2]);

merge(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值