1.获取视频

获取摄像头or本地视频文件+resize大小+颜色编码格式
VideoCapture是一个摄像头类。Mat是OpenCv的矩阵类。resize函数改变图像大小。

OpenCv的图片是按BGR顺序存储的。

COLOR_BGR2HSV:更接近人直观感觉的颜色格式。颜色信息(H)、饱和度(S)、亮度(V)

#include <opencv2/opencv.hpp>
#include <iostream>  using namespace cv;        //引入OpenCv的命名空间int main()
{// 从摄像头读入视频。VideoCapture是一个摄像头类,可以读取摄像头或者本地的视频文件。VideoCapture capture(0);while (1){//Mat是OpenCv的矩阵类,一般用来存储图像。Mat frame;                              //定义一个Mat变量,用于存储每一帧的图像capture >> frame;                        //读取当前帧resize(frame, frame, Size(360, 240));    //改变图像大小    cvtColor(frame, frame, COLOR_BGR2GRAY);     //转为灰度图imshow("aa", frame);waitKey(30);                           //延时30ms}return 0;
}

2.获取HSV

//setMouseCallback会捕获指定窗口的鼠标消息。

#include <opencv2\opencv.hpp>
#include <iostream>using namespace std;
using namespace cv;void on_mouse(int EVENT, int x, int y, int flags, void* userdata);int main(int argc, char** argv)
{Mat src, hsv;//此处更改图片地址  src = imread("E:\\XXX\\XXX\\XXX\\X.png");namedWindow("display");setMouseCallback("display", on_mouse, &src);while (1){imshow("display", src);waitKey(40);}
}void on_mouse(int EVENT, int x, int y, int flags, void* userdata)
{Mat rgb, hsv;rgb = *(Mat*)userdata;Mat temp;cvtColor(*(Mat*)userdata, hsv, COLOR_BGR2HSV);Point p(x, y);switch (EVENT){case EVENT_LBUTTONDOWN:{printf("b=%d\t", rgb.at<Vec3b>(p)[0]);printf("g=%d\t", rgb.at<Vec3b>(p)[1]);printf("r=%d\n", rgb.at<Vec3b>(p)[2]);printf("H=%d\t", hsv.at<Vec3b>(p)[0]);printf("S=%d\t", hsv.at<Vec3b>(p)[1]);printf("V=%d\n", hsv.at<Vec3b>(p)[2]);circle(rgb, p, 2, Scalar(255), 3);}break;}
}

3.颜色识别

OpenCV - C++ -图像处理 //使用相关推荐

  1. 在 Google Colab 中使用 OpenCV 进行图像处理简介

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,我们将实现如何使用 OpenCV 在 google ...

  2. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  3. OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)

    OpenCV与图像处理学习十七--OpenCV人脸检测(含代码) 一.人脸识别概要 1.1 人脸检测 1.2 人脸对齐(Face Alignment) 1.3 人脸特征提取(Face Feature ...

  4. OpenCV与图像处理学习十六——模板匹配

    OpenCV与图像处理学习十六--模板匹配 一.模板匹配介绍 二.代码应用 一.模板匹配介绍 模板匹配是一种最原始.最基本的模式识别方法,研究某一特定目标的图像位于图像的什么地方,进而对图像进行定位. ...

  5. OpenCV与图像处理学习十五——LBP纹理特征(含代码)

    OpenCV与图像处理学习十五--LBP纹理特征(含代码) 一.LBP介绍 二.LBP原理 三.代码应用 一.LBP介绍 LBP(Local Binary Pattern, 局部二值模式) , 是一种 ...

  6. OpenCV与图像处理学习十四——SIFT特征(含代码)

    OpenCV与图像处理学习十四--SIFT特征(含代码) 一.SIFT算法 二.SIFT实现过程 三.代码实现 一.SIFT算法 SIFT, 即尺度不变特征变换算法(Scale-invariant f ...

  7. OpenCV与图像处理学习十三——Harris角点检测(含代码)

    OpenCV与图像处理学习十三--Harris角点检测(含代码) 一.角点的概念 二.Harris角点检测的实现过程 三.Harris代码应用 一.角点的概念 角点: 在现实世界中, 角点对应于物体的 ...

  8. OpenCV与图像处理学习十二——图像形状特征之HOG特征

    OpenCV与图像处理学习十二--图像形状特征之HOG特征 一.图像特征理解 1.1 颜色特征 1.2 纹理特征 1.3 形状特征 1.4 空间关系特征 二.形状特征描述 2.1 HOG特征 2.1. ...

  9. OpenCV与图像处理学习十一——分水岭算法(含代码)

    OpenCV与图像处理学习十一--分水岭算法(含代码) 一.分水岭算法概要 二.分水岭算法步骤 三.代码应用 一.分水岭算法概要 任意的灰度图像可以被看做是地质学表面,高亮度的地方是山峰,低亮度的地方 ...

  10. OpenCV与图像处理学习十——区域生长算法(含代码)

    OpenCV与图像处理学习十--区域生长算法(含代码) 一.区域生长算法概要 二.区域生长算法原理 三.代码应用 一.区域生长算法概要 区域生长是一种串行区域分割的图像分割方法.区域生长是指从某个像素 ...

最新文章

  1. iRank: 基于互联网类脑架构的阿尔法鹰眼发展趋势评估
  2. ruby中DBI连接MySQL数据库步骤详解
  3. 计算机网络第五章:运输层
  4. 关于STM32像EPROM一样可以单字节写内部Flash的理解
  5. ORACLE强大的令人发指
  6. HTC G7 金卡 制作
  7. How to enable product text HTML editor
  8. 汉字笔画数据_把所有汉字叠起来会怎样?
  9. 快速排序 动图_Java十大排序算法最强总结
  10. 英语口语 Week14 Monday
  11. CSS快速学习8:圆角切图、滚动条和图片整合技术
  12. java 获取mongodb的连接数
  13. 剑指offer面试题[12]-打印1到最大的n位数
  14. MySQL数据库中,将一个字段的值分割成多条数据显示
  15. 华为杯数学建模2020什么时候出结果_第17届华为杯数学建模竞赛来啦
  16. Matlab:实现菲涅尔直边衍射仿真
  17. Web:移动商城首页的页眉和页脚的布局和flex项目三个属性
  18. 神经网络务实:Linux下用GPU玩转TensorFlow
  19. abp框架mysql连接配置_ABP框架使用Mysql数据库
  20. java照片切换播放音乐_音乐播放器-图片切换-轮播图效果

热门文章

  1. Windows Mobile 7.0最新消息!!
  2. 嵌入式linux启动时间优化
  3. python sphinx_Python Sphinx使用踩坑记录
  4. pdo mysql num rows_PDO参数说明
  5. gdb+openocd+stlink调试MCU
  6. 在html中写年月,Javascript+html:select年月日(出生日期)的写法
  7. 【Android】 calculator计算器
  8. Python面向对象编程——类的学习
  9. lisp画弯箭头_在cad中直接画箭头
  10. 为什么总是闹离职的员工没走,平时不吭声的员工却突然离职?