opencv颜色过滤
❶ opencv 颜色识别,识别水体黄色、绿色,怎么弄,希望详细讲解下软硬件设计,因为我对这些不熟悉
你转成别的颜色空间,比如LAB,可能好弄写
❷ 如何用Opencv 把视频提取的图像中特定区域的颜色读取出来求范例程序
for(i=0;i<Img->height;i++)
for(j=0;j<Img->width;j++)
{
color[i][j][0]=(Img->imageData+i*Img->widthStep)[3*j];
color[i][j][1]=(Img->imageData+i*Img->widthStep)[3*j+1];
color[i][j][2]=(Img->imageData+i*Img->widthStep)[3*j+2];
}
其中:img为要提取的图像(RGB图像,若为灰度图像或者二值图更简单);版
color数组用于存放颜色的RGB值;权
❸ opencv进行颜色识别
图片还是视频?
图片的话读到一个Mat里:
Mat img;
img.imread(address,1);
,访问mat的元素就行了:
cout<<img.ptr<uchar>(i,j);
会输出BGR值
❹ 如何在opencv中实现特定颜色的识别和选取
就是跟PhotoShop里魔术棒差不多?那你首先得确定:
用什么颜色空间:RGB?HSV?YUV?
如何取特征呢:像素值?直方图?
用什么分类器:SVM? 神经网络?
❺ opencv颜色识别
打开摄像头程序的链接:http://blog.csdn.net/thefutureisour/article/details/7530177
把图像转换到HSV通道,红色在H中有一个区间,网上查一查资料很多。
剩下的就是判断了
❻ opencv 判断两个颜色是否足够相似
例如a像素点的RGB值为(r1,g1,b1),b点的像素值为(r2,g2,b2),则similar=sqrt((r1-r2)^2+(g1-g2)^2+(b2-b1)^2)就是他们的相似度量
❼ opencv颜色识别代码
#include<iostream>
#include<cv.h>
#include"highgui.h"
#ifdef_DEBUG
#pragmacomment(lib,"opencv_core245d.lib")
#pragmacomment(lib,"opencv_highgui245d.lib")
#pragmacomment(lib,"opencv_imgproc245d.lib")
#else
#pragmacomment(lib,"opencv_core245.lib")
#pragmacomment(lib,"opencv_highgui245.lib")
#pragmacomment(lib,"opencv_imgproc245.lib")
#endif
intmain()
{
cv::VideoCapturecapture(0);
if(!capture.isOpened())
return0;
cv::Matimage,HSV,channels[3];
floatthreshold=0.3;
while(capture.read(image))
{
cv::cvtColor(image,HSV,CV_BGR2HSV);
cv::split(HSV,channels);
cv::threshold(channels[0],channels[1],15,1,CV_THRESH_BINARY_INV);
cv::threshold(channels[0],channels[0],245,1,CV_THRESH_BINARY);
channels[0]+=channels[1];
cv::erode(channels[0],channels[0],cv::Mat::ones(3,3,CV_8UC1),cv::Point(1,1),3);
cv::Scalarv=cv::sum(channels[0]);
intresult=v[0]>channels[0].total()*threshold;
std::cout<<result<<std::endl;
}
}
❽ opencv形状识别加颜色识别
大概思路如下,可能可以改进:
1. 用Hough变换进行圆检出
2. 对检出的每个圆范围内的颜色做histogram并取出现概率最高的颜色作为该圆的颜色信息
3. 将所有检出的圆的颜色和参照物(小球)的颜色信息进行比较,取最接近的一个进行追踪即可
❾ opencv摄像机捕捉魔方画面进行颜色识别的问题,如题。
首先魔方要买那种磨砂的减少反光的影响。其实也就是当光线太亮或者太暗色彩分量就变小了。
然后通过方法找到魔方的边界,然后将这个正方形部分截取出来处理。
后面就是一个面一个面的处理,将图片分成3*3共9个块,就是对应着9个色块。
下面就是对每个块的处理,去除其中的非色彩分量,就是这部分不参与后面的计算。
我曾经用过一个方法,就是通过颜色的值来区分,因为魔方有六种颜色。别的颜色基本没什么问题,只有红色与橙色有问题,由于魔方生产的时候,色彩并不是标准的。所以是不能用固定阈值来处理,也不能用图像的模版来处理,因为那样模版要做的太多了。
个人觉得的办法是,整个魔方所有色块一起处理,先处理其他的颜色,最后再处理红色与橙色,可能会更精确些。就是越靠近红色分量的9个色块作为红色,越靠近橙色分量的9个色块作为橙色。
❿ 怎么用opencv识别pH试纸条的颜色然后匹配输出相应的 pH值
怎么用opencv识别pH试纸条的颜色然后匹配输出相应的 pH值
采样后,用水补充到采样前的吸收液的体积.由于样品溶液不稳定,应在6h内,按用标准溶液绘制标准曲线的操作步骤显色,测定吸光度.
在每批样品测定的同时,用10ml未采样的吸收液,按相同的操作步骤作试剂空白测定.
如果样品溶液吸光度超过标准曲线的范围,则可取部分样品溶液用吸收液稀释后再分析,计算浓度时,要乘以样品溶液的稀释倍数.
计算1.标准溶液制备标准曲线
式中c——空气中硫化氢浓度,mg/m3;
A——样品溶液的吸光度;
A0——试剂空白溶液的吸光度;
Bs——用标准溶液绘制标准曲线得到的计算因子,μg;
D——分析时样品溶液的稀释倍数;
V0——换算成标准状况下的采样体积,L.
2.标准气体制备标准曲线
式中Bg——用标准气体绘制标准曲线得到的计算因子,mg/m3;