- 博客(17)
- 收藏
- 关注
原创 基于OpenCv的(YCrCb)颜色空间的肤色检测
基于OpenCv的(YCrCb)颜色空间的肤色检测 摘要:颜色空间分为RGB,HSV,YUV等,此次主要是以YCrCb颜色空间的肤色检测。利用YUV主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视的特点,将摄像头捕捉到的图像转换成黑白图像(即皮肤颜色为白色以外,其他颜色为黑色)。 关键词: YUV空间: 一、 YUV即
2018-04-20 20:46:31
4077
1
原创 OpenCv滑动条的创建
OpenCV滑动条的创建 关键字:cvCreateTrackbar() cvDrawContours()1. cvCreateTrackbar( const char* trackbar_name, const char* window_name, int* value, int count, CvTrackbarC
2018-04-13 20:54:01
449
原创 直方图的学习(3)
色彩空间的转换:HSVHSV也叫HSB,HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法。(锥的顶点处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处V=max,S=0,H无定义,代表白色。),它尝试描述比 RGB 更准确的感知颜色联系,并仍保持在计算上简单。 H:hue 色相 是色彩的基本属性,�%C�,它尝试描述比 RGB 更准确的感知颜色联
2018-03-30 16:21:52
486
原创 直方图的学习(2)
直方图的学习(2)——灰度直方图均衡化 摘要:直方图均衡化主要应用于灰度的变换,均匀概率密度的图像,扩展像素的取值动态范围,是图像增强处理的重要方法。直方图均衡化是一种通过重新均匀地分布各灰度值来增强图像对比度的方法,经过直方图均衡化的图像对二值化阈值选取十分有利。简单地说,直方图均衡化就是把一个图中密集的区域均衡到其他区域。关键字:cvEqualize
2018-03-23 21:40:13
628
原创 用一维数组画直方图(1)
CvHistogram多维直方图typedef struct CvHistogram{ int type; CvArr*bins: 存放直方图在每一维直方柱上的具体数据,由于存在多维直方图。如果是一维直方图,那么bins就是一个一维的矩阵;如果是二维直方图,那么bins就是一个二维的矩阵,等等; float thresh【CV_MA
2018-03-16 21:04:05
3938
原创 车牌号图像的垂直投影
//垂直投影 vector verticalProjectionMat(Mat Image){int perPixelValue;//每个像素的值 int width = Image.cols;int height = Image.rows;printf("图片的宽%d图片的高%d", width, height);int* projectValArry = new
2018-01-26 22:35:29
3280
原创 视频帧数的控制
这次实验主要是参考“大学生自学网”上的一个视频学习的,通过创建滚动条来控制视频的帧数。 代码如下: #include"cv.h"#include"highgui.h"using namespace cv;using namespace std;CvCapture*g_capture = NULL;//定义一个全局变量int g_slider_pos
2017-12-22 17:50:21
1393
原创 用鼠标截取图像并保存(2)
用鼠标截取图像并保存(一)后续: 此次试验主要是相对上一个实验,利用每个字符切割的初始位置不一样,改变切割的起点达到切割每个字符的目的。代码的改变主要是初始坐标和实时坐标的变化,即如下所示:{ dst = src(Rect(min(cur_pt.x, pre_pt.x), min(cur_pt.y, pre_pt.y), width
2017-12-13 20:56:26
523
原创 用鼠标截取矩形图像并保存(1)
摘要:继上一个实验,实现用鼠标截取矩形图像并保存。 关键字:copyTo copyTo最一般的用法是src.copyTo(img),将src复制到img矩阵中。#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"#include us
2017-12-07 21:06:17
448
原创 用鼠标截矩形图像并保存
摘要: 接着上一个实验,此次实验想把鼠标截取(框住)的图片分开显示出来,但是没有达到运行效果。关键字:cvSetImageRol()1.void cvSetImageROI(IplImage* image,cvRect rect); 说明:基于给定的矩形设置图像的 ROI(感兴趣区域,region of interesting)CvRect结构:包含4个数据成员,x
2017-12-01 20:01:52
474
原创 OpenCv中读取图像某点的坐标
#include #include#include #include using namespace cv;void on_mouse(int event, int x, int y, int flags, void *ustc)//even指鼠标事件,x,y鼠标坐标,flags拖拽和键盘操作的代号 {static Point pr
2017-11-15 20:29:22
21280
1
转载 车牌字符的切割(一)
摘要:据了解,我国的标准车牌有统一的大小,即宽度为45cm,高度为15cm。车牌上单个字符宽为45mm,其中,第一个字符的空间包括左右空出的空间为45mm,第二个字符与第三个字符之间的间隙为34mm,其他字符间隙为12mm。字符总数为7个,且单个字符宽度约占车牌的10%。有了这些信息,就得到了车牌字符的切割算法公式。 #include #include #include #includ
2017-11-04 20:33:08
3273
原创 车牌识别之车牌定位(一)
高斯滤波 void GaussianBlur(InputArray src,OutputArray dst,Size ksize,double sigmaX,double sigmaY=0,int bordeType=BORDER_DEFAULT)src:输入图片,可以是任意通道数,该函数对通道数是独立处理的,但是深度只能是CV_8U,CV_16U,CV_16S,C
2017-10-19 17:12:08
1465
原创 访问矩阵中的数据的第三种方法
摘要:访问矩阵中的数据的第三种方法:适当的方法(接上)关键词cvInitMatHeader():初始化Mat结构体; cvInitMatHeader( CvMat* arr, int rows, int cols,int type, void* data, int step ) 参数解释: arr:CvMat结构体; rows: 行数; cols:列数; t
2017-10-17 19:31:10
815
原创 访问矩阵中的数据的两种方法
摘要:访问矩阵中的数据的两种方法:简单的方法和麻烦的方法 关键词 : CV_MAT_ELEM() CV_MAT_ELEM_PTR() cvPtr*D cvGet*D 1.CV_MAT_ELEM():这个宏包含4个参数,分别是传入矩阵,待提取的元素的类型,行数和列数。2.CV_MAT_ELEM_PTR() : CV_MAT_EL
2017-10-13 19:45:34
2225
原创 OpenCv中矩阵的创建
矩阵的创建1.创建矩阵的方式: (1):cvGreateMat(int rows,int cols,int type).Type可以使用任何定义类型; Type:CV_(S|U|F)(其中bit_depth代表数据位数,S:有符号整数, U:无符号整数 F:浮点) For exemple:CvMat*mat=cvGreateMat(8,9,CV_32FC1);// 创
2017-09-14 16:46:42
2127
转载 Opencv矩阵的维度与通道
矩阵与维度(单通道)#include"highgui.h"int main(int argc, char* argv[]){float data[18] ={23,34.,56,67,97,98,13,43,45,65,76,78,23,45,56,79,90,76};CvMat mat;cvInitMatHeader(&mat, 3
2017-09-13 10:43:59
3174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人