OpenCV - C++ -图像处理 //使用
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 在 google ... 在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ... OpenCV与图像处理学习十七--OpenCV人脸检测(含代码) 一.人脸识别概要 1.1 人脸检测 1.2 人脸对齐(Face Alignment) 1.3 人脸特征提取(Face Feature ... OpenCV与图像处理学习十六--模板匹配 一.模板匹配介绍 二.代码应用 一.模板匹配介绍 模板匹配是一种最原始.最基本的模式识别方法,研究某一特定目标的图像位于图像的什么地方,进而对图像进行定位. ... OpenCV与图像处理学习十五--LBP纹理特征(含代码) 一.LBP介绍 二.LBP原理 三.代码应用 一.LBP介绍 LBP(Local Binary Pattern, 局部二值模式) , 是一种 ... OpenCV与图像处理学习十四--SIFT特征(含代码) 一.SIFT算法 二.SIFT实现过程 三.代码实现 一.SIFT算法 SIFT, 即尺度不变特征变换算法(Scale-invariant f ... OpenCV与图像处理学习十三--Harris角点检测(含代码) 一.角点的概念 二.Harris角点检测的实现过程 三.Harris代码应用 一.角点的概念 角点: 在现实世界中, 角点对应于物体的 ... OpenCV与图像处理学习十二--图像形状特征之HOG特征 一.图像特征理解 1.1 颜色特征 1.2 纹理特征 1.3 形状特征 1.4 空间关系特征 二.形状特征描述 2.1 HOG特征 2.1. ... OpenCV与图像处理学习十一--分水岭算法(含代码) 一.分水岭算法概要 二.分水岭算法步骤 三.代码应用 一.分水岭算法概要 任意的灰度图像可以被看做是地质学表面,高亮度的地方是山峰,低亮度的地方 ... OpenCV与图像处理学习十--区域生长算法(含代码) 一.区域生长算法概要 二.区域生长算法原理 三.代码应用 一.区域生长算法概要 区域生长是一种串行区域分割的图像分割方法.区域生长是指从某个像素 ...OpenCV - C++ -图像处理 //使用相关推荐
最新文章
热门文章