opencv摄像头捕获识别颜色

 更新时间:2019年07月23日 10:25:15   作者:helloed02  
这篇文章主要介绍了opencv摄像头捕获识别颜色,用opencv通过摄像头捕获识别颜色,红色蓝色等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了opencv摄像头捕获识别颜色的具体代码,供大家参考,具体内容如下

#include "highgui.h"  
#include "iostream"
using namespace std;
 
int main() 
{ 
  CvCapture* pCap = cvCreateCameraCapture(1 );//这里-1也可以,不过我的电脑装的有CyberLink YouCam软件,  
  int flag=0;                       //OpenCV会默认调用该摄像头,而不调用系统的驱动  
 
 IplImage* frame =NULL;
 
  if (cvCreateCameraCapture == NULL) 
  { 
    return(0); 
  } 
 
  cvNamedWindow("Camera",CV_WINDOW_FULLSCREEN); 
 
  while ((frame = cvQueryFrame(pCap)) != 0 && cvWaitKey(20) != 27)  
  { 
    frame = cvQueryFrame(pCap);
 //cout<<frame->width<<" "<<frame->height<<endl;
 flag=0;
 for(int x=0;x<frame->height;x++)
 {
 for(int y=0;y<frame->width*3;y++)
 {
 //CV_IMAGE_ELEM(frame,uchar,x,y)=255;
  if( ((uchar*)(frame->imageData+x*frame->widthStep))[y*frame->nChannels+0]<30 //b
  &&((uchar*)(frame->imageData + x*frame->widthStep))[y*frame->nChannels + 1]<30 //g
  &&((uchar*)(frame->imageData + x*frame->widthStep))[y*frame->nChannels + 2]>150) //r
    flag++;
 
 
 }
 }
 cout<<flag<<endl;
 if(flag>70000)
 cout<<"red"; 
 else
  cvShowImage("Camera",frame); 
  } 
 
  aaa: cvReleaseCapture(&pCap);  
  cvDestroyWindow("Camera");
 system("pause");
  return (0); 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C++生成key-value键值的三种方式总结

    C++生成key-value键值的三种方式总结

    这篇文章主要为大家详细介绍了C++中生成key-value键值的三种方式,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解下
    2023-09-09
  • C语言深入分析数组指针和指针数组的应用

    C语言深入分析数组指针和指针数组的应用

    在C语言和C++等语言中,数组元素全为指针变量的数组称为指针数组,指针数组中的元素都必须具有相同的存储类型、指向相同数据类型的指针变量。指针数组比较适合用来指向若干个字符串,使字符串处理更加方便、灵活
    2022-04-04
  • C++之多态(内容不错)

    C++之多态(内容不错)

    什么是多态?顾名思义就是同一个事物在不同场景下的多种形态,需要的朋友可以参考下
    2020-01-01
  • C++ 11 std::function和std::bind使用详解

    C++ 11 std::function和std::bind使用详解

    这篇文章主要介绍了C++ 11 std::function和std::bind使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • C语言数据结构之循环链表的简单实例

    C语言数据结构之循环链表的简单实例

    这篇文章主要介绍了C语言数据结构之循环链表的简单实例的相关资料,需要的朋友可以参考下
    2017-06-06
  • 用Visual Studio2017写C++静态库图文详解

    用Visual Studio2017写C++静态库图文详解

    这篇文章主要介绍了用Visual Studio2017写C++静态库的图文教程,需要的朋友可以参考下
    2017-04-04
  • 详解用C语言实现三子棋游戏流程

    详解用C语言实现三子棋游戏流程

    三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了
    2021-11-11
  • 基于C语言模拟实现人生重开模拟器游戏

    基于C语言模拟实现人生重开模拟器游戏

    人生重开模拟器是前段时间非常火的一个小游戏,所以本文我们将一起学习使用c语言写一个简易版的人生重开模拟器,感兴趣的小伙伴可以了解下
    2024-02-02
  • opencv实现机器视觉检测和计数的方法

    opencv实现机器视觉检测和计数的方法

    在机器视觉中,有时需要对产品进行检测和计数。其难点无非是对于产品的图像分割。本文就来介绍一下机器视觉检测和计数的实现,感兴趣的可以参考一下
    2021-05-05
  • C语言中的sizeof操作符用法及和strlen的区别

    C语言中的sizeof操作符用法及和strlen的区别

    这篇文章主要介绍了C语言中的sizeof操作符用法及和strlen的区别,本文讲解了sizeof的定义、sizeof的语法以及使用实例,最后给出sizeof与strlen的区别,需要的朋友可以参考下
    2015-07-07

最新评论