- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像基本知识点opencv
图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像中可出现的最多颜色数,或灰度图像中的最大灰度等级.比如一幅单色图像,若每个象素有8位,则最大灰度数目为2的8次方,即256.一幅彩色图像RGB3个分量的象素位数分别为4,4,2,则最大颜色数目为2的4+4+2次方,即1024,就是说像素的深度为10位,每个像素可以是1024种颜色中的一种.
例如:一幅画的尺寸是1024*768,深度为16,则它的数据量为1.5M。
图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。
一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0或者各像素值的红色和绿色通道不全为0,但不能说没有蓝色通道存在。
“存在、亮度为零”和“不存在”是两个不同的概念。
一幅图像,如果关闭了红色通道,那么图像就偏青色。如果关闭了绿色通道,那么图像就偏洋红色。如果关闭了蓝色通道,那么图像就偏黄色。
这个现象再次印证了反转色模型:红色对青色、绿色对洋红色、蓝色对黄色。
基本数据类型
1)CvPoint结构
在这些数据类型中最简单的就是CvPoint,它表示二维坐标系下的点,类型为整型,定义如下:
typedef struct CvPoint
{
int x; /* x坐标, 通常以0为基点 */int y; /* y坐标, 通常以0为基点 */
} CvPoint;
2)CvSize结构
CvSize结构用来表示矩形框大小,以像素为精度,结构体中分别定义了矩形的宽高和高度,定义如下:
typedef struct Cvsize
{
int width; /*矩形宽度,单位为像素*/
int height; /*矩形高度,单位为像素*/
}CvSize;
CvRect结构
该结构是用来表示矩形框的偏移和大小。
typedef struct CvRect { int x; /* 方形的最左角的x-坐标 */ int y; /* 方形的最上或者最下角的y-坐标 */ int width; /* 宽 */ int height; /* 高 */ }CvRect;
CvScalar 结构
该结构是用来定义存放1- 4个数值的数组。
typedef struct Cvscalar
{
double val[4];
}CvScalar; //可用来表示RGBA的值,A=alpha透明度
5)IplImage 结构
OpenCV库主要是使用“IplImage”结构体来创造和处理图像。IplImage结构来源于inter的另外一个函数库IPL,该函数库主要是针对图像处理。定义如下:
typedef struct IplImage
{
int nSize; /*IplImage大小*/
int ID; /*版本(=0)*/
int nChannels; /*大多数opencv函数支持1~4个信道*/
int depth; /*像素的位深度*/
int dataOrder; /*0:交叉存取颜色信道。1:分开的颜色信道。只有cvCreateImage可以创建交叉存取图像*/
int origin; /*0:顶—左结构,1:底—左结构*/
int width; /* 图像宽像素 */
int heighet; /*图像高像素*/
struct_IplROI *roi; /*图像感兴趣区域*/
int imageSize; /*图像数据大小*/
int widthStep; /*排列的图像大小,以字节为单位*/
}IplImage;
常用函数:
创建图像:8深度3通道
IplImage* src=/cvCreateImage(cvSize(400,300), IPL_DEPTH_8U,3);
读取图像
IplImage* src=/cvLoadImage(lena.jpg,-1); /* 定义IplImage指针变量src,并且将src指向当前目录下的图像lena.jpg */函数cvLoadImage载入指定图像文件,并返回指向该文件的IplImage指针。函数支持bmp、jpg、 png、 tiff等格式的图像。其函数原型如下:
I
原创力文档


文档评论(0)