版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲:宁纪锋电话:87091641址:计算机科学系(信工320室)数字图像处理DigitalImageProcessing第二章数字图像处理基础图像数字化
色度学基础与颜色模型图像类型
BMP文件格式OpenCV2.3简介Matlab2.9图像处理简介第二章数字图像处理基础模拟世界--->数字图像--->存储数字化黑白图像灰度图像彩色图像各种颜色模型BMPJPEGGIF光(来自百度百科/view/68621.htm)中文名称:可见光英文名称:visiblelight定义1:电磁波谱中波长约在0.39~0.76μm范围内且为肉眼可见的电磁辐射。应用学科:大气科学(一级学科);大气物理学(二级学科)定义2:波长在380~780nm范围能引起视觉的电磁波。应用学科:地理学(一级学科);遥感应用(二级学科)光(来自百度百科/view/68621.htm)不少其他生物能看见的光波范围跟人类不一样,例如包括蜜蜂在内的一些昆虫能看见紫外线波段,对于寻找花蜜有很大帮助。2.1图像数字化(ImageDigitization)成像系统场景:模拟图像成像平面数字化结果2.1.1采样与量化(Sampling,Quantization)
采样是将在空间上连续的图像转换成离散的采样点(即像素)集的操作。由于图像是二维分布的信息,所以采样是在x轴和y轴两个方向上进行。2.1.1采样与量化(Sampling,Quantization)量化:取样后图像的每个样点的取值范围分成若干区间,并仅用一个数值代表每个区间中的所有取值。量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。光谱反射图像的某一行举例:如图光谱的反射值范围在0~1之间,采样区间为0.1,则量化后,光谱的离散反射值有多少个?如采样区间为0.01,则量化后,光谱的离散反射值有多少个?2.1.2采样分辨率的影响Samplingistheprincipalfactordeterminingthespatialresolutionofanimage.2.1.2采样分辨率的影响samplingcheckerboards
2.1.4量化精度的影响256-level128-level64-level32-level16-level8-level4-level2-levelFalsecontour假轮廓1.色度学基础灰度图像的像素值是光强.f(x,y).计算机显示一幅彩色图像时,每一个像素的颜色是通过三种基本颜色(红、绿、蓝)合成的。彩色图像f(x,y,λ).λ:颜色光谱(1)三色原理:根据三原色学说,可见光谱内任何颜色都可由红、绿、蓝三色组成。人眼的视觉:生理学试验表明,视网膜上的光感受器可分锥细胞和杆细胞。杆细胞为暗视器官,主要功能是辨别亮度信息;锥状细胞是明视器官,其功能是分辨是颜色。锥细胞对彩色敏感,杆细胞对亮度敏感。锥细胞可分为3类,分别对红、绿、蓝敏感。2.2色度学基础与颜色模型人类感光细胞的敏感曲线BlueGreenRed2.2色度学基础与颜色模型(2)颜色的三个属性颜色是外界光刺激于人的视觉器官而产生的主观感觉。颜色可分两大类:非彩色和彩色。非彩色:黑白色彩色:根据人的视觉系统感知彩色的方式,颜色有三个基本属性,分别是色调、饱和度、亮度。色调:人的感官对不同颜色的感受,如红色、绿色和蓝色。饱和度:颜色的纯度,饱和度越大,颜色看起来就会越鲜艳。强度:对应成像亮度和图像灰度,是颜色的明亮程度。2.2色度学基础与颜色模型2.颜色模型(在各种行业中如何生成彩色)按用途可分为三类:计算颜色模型、视觉颜色模型和工业颜色模型(1)计算颜色模型用于进行颜色的理论研究。常见的RGB模型、CIEXYZ模型、Lab模型等均属于此类型。(2)视觉颜色模型是指与人眼对颜色感知的视觉模型相似的模型,它主要用于色彩的理解,常见的有HSI模型、HSV模型和HSL模型。(3)工业颜色模型侧重于实际应用,包括彩色显示系统、彩色传输系统及电视传输系统等。如印刷中用的CMYK模型、电视系统用YUV模型、用于彩色图像压缩的YCbCr模型等。2.2色度学基础与颜色模型RGB(Red,Green,Blue)R:200G:50B:1202.颜色模型RGB颜色模型按照CIE规定的三基色构成表色系统。自然界的任一种颜色都可通过这三种基色按不同比例混合而成。由于RGB模型将三基色同时加入以产生新的颜色,所以,它是一个加色系统。2.2色度学基础与颜色模型R:200G:50B:1202.颜色模型RGB颜色模型的优点(1)RGB模型与显示器等设备有着较好的对应关系。(2)在RGB显示器中,有三种荧光粉能够分别发出红、绿、蓝三种颜色,三个相邻的荧光点构成了一个像素,这些荧光点受到三束分别为c1,c2,c3的电子束的轰击,会发出不同的亮度,通过物理上的叠加或混合,便可显示出相应的颜色。2.2色度学基础与颜色模型2.颜色模型RGB颜色模型的一个例子Matlab中如何产生左边的RGB图像(图像大小为128x128)
%如何产生一幅彩色图像Red=zeros(128,128);Red(1:64,1:64)=1;Green=zeros(128,128);Green(65:128,1:64)=1;Blue=zeros(128,128);Blue(1:64,65:128)=1;I=cat(3,Red,Green,Blue);imshow(I);2.2色度学基础与颜色模型2.颜色模型CMY模型和CMYK模型CMY模型是硬拷贝设备上输出图像的颜色模型,常用于彩色打印、印刷行业。它的三原色是青(Cyan)、品红(Magenta)、黄(Yellow),分别为红、绿、蓝的补色,称为减色基。在CMY中,颜色是从白光中减去一定成分得到的,而不是像素RGB颜色模型那样,在黑光中增加某种颜色。CMY坐标可以从RGB模型中得到:青品红红2.2色度学基础与颜色模型2.颜色模型CMY模型和CMYK模型(5)由于在印刷时CMY模型不可能产生真正的黑色,因此在印刷业中实际上使用的是CMYK颜色模型,K为第四种颜色,表示黑色。用以弥补三个颜色混合不够黑的问题。(6)Matlab中从RGB到CMY的转换。rgb_I=imread('peppers.png');cmy_I=imcomplement(rgb_I);imshow(rgb_I);figure,imshow(cmy_I);2.2色度学基础与颜色模型2.颜色模型HSI颜色模型1915年美国色彩学家孟塞尔提出,它反映了人的视觉系统感知彩色的方式,以色调、饱和度和强度三种基本特征量来感知颜色。色调H(Hue):
与光波的波长有关,它表示人的感官对不同颜色的感受,如红色、绿色、蓝色等,饱和度(Saturation):
表示颜色的纯度,纯光谱色是完合饱和的,加入白光会稀释饱和度。饱和度越大,颜色看起来就会鲜艳,反之亦然。强度I(Intensity):对应成像亮度和图像灰度,是颜色的明亮程度。HSI模型建立基于两个重要的事实:(1)I分量与图像的彩色信息无关;(2)H和S分量与人感受颜色的方式是紧密相联的。这些特点使得HSI模型非常适合彩色特性检测与分析。2.2色度学基础与颜色模型2.颜色模型HSI颜色模型RGB颜色模型转换为HSI颜色模型的公式见教材205页Is红绿蓝HH:一个角度S:1-3*min(r,g,b)i=(R+G+B)/(3*255)2.2色度学基础与颜色模型2.颜色模型HSI颜色模型I:亮度s红绿蓝HS:饱和度H:色度任何一个颜色都属于圆柱体中的一个点P,该点投影到底面圆为Q。H:Q与x轴的夹角。S:Q到圆心O的距离。I:PQ的距离2.2色度学基础与颜色模型2.图像去雾Downloadedat/en-us/um/people/kahe/cvpr09/index.html2.2色度学基础与颜色模型2.图像去雾Downloadedat/en-us/um/people/kahe/cvpr09/index.html2.2色度学基础与颜色模型2.3图像类型
infra-red红外
ultra-violet紫外
radio-waves(radioastronomy)无线电波
visiblelight可见光
micro-waves(radar)微波雷达
roentgen(tomography)(X线断层摄影术)sound-waves(echoscopy,sonar)electrons(microscopy)(电子显微镜)positronemission(PET-scan)(正电子放射)
magneticresonance(NMR)(磁共振)2.3图像类型Gamma射线、X射线、可视图图像、雷达图像图像可通过不同的设备获得2.3图像类型三种图像类型:黑白图像
Binaryimages
I(x,y){0,1}灰度图像
Gray-scaleimages
I(x,y)[0..255]彩色图像
Colorimages
IR(x,y)IG(x,y)IB(x,y)2.3图像类型高光谱图像HyperSpectralImageI(x,y,k)k=1,….,m2.3.1黑白图像
指图像的每个像素只能是黑或者白,没有中间的过渡,故又称为2值图像。2值图像的像素值为0、1。2.3.2灰度图像
灰度图像是指每个像素的信息由一个量化的灰度级来描述的图像,没有彩色信息。早期的黑白电影2.3.3彩色图像
彩色图像是指每个像素的信息由RGB三原色构成的图像,其中RGB是由不同的灰度级来描述的。2.3.3彩色图像2.4图像文件格式
数字图像有多种存储格式,每种格式一般由不同的软件公司开发所支持。文件一般包含文件头和图像数据。就像每本书都有封面,目录,它们的作用类似于文件头,通过文件头我们可读取图像数据。文件头的内容由该图像文件的公司决定,一般包括文件类型、文件制作者、制作时间、版本号、文件大小等内容,还有压缩方式。2.4BMP图像文件格式
Windows中定义了两种位图文件类型:一般位图文件格式,设备无关位图文件格式。
BMP图像文件的结构可以分为如下三个部分:文件头(由位图像文件和位图信息头两部分组成),调色板数据,图像数据。
BMP文件头的长度为固定值54个字节;其中BITMAPFILEHEADER结构14字节,BITMAPINFOHEADER结构40字节。
BITMAPFILEHEADER包含文件类型和大小等信息,定义为:typedefstructtagBITMAPFILEHEADER{
WORD bfType; /*代表BMP格式,必为“BM”即“0x4d42”*/
DWORDbfSize; /*BMP文件总字节数*/ WORDbfReserved1; /*预留,必为0*/ WORDbfReserved2; /*预留,必为0*/DWORDbfOffBits; /*以字节为单位,表示图像数据在文件内的起始地址,即图像数据针对文件头的偏移量*/}BITMAPFILEHEADER
2.4.1位图文件头BITMAPFILEHEADERBITMAPINFOHEADER包含位图的尺寸和颜色格式等信息,其定义如下:typedefstructtagBITMAPINFOHEADER{DWORD biSize; /*bitmapinfo结构的字节数为40*/LONG biWidth; /*图像宽度(像素数)*/LONG biHeight;
/*图像高度(像素数)*/WORD biPlanes; /*目标设备平面数,总为1*/WORD biBitCount; /*每像素位数,可为1、4、8或24*//*数据压缩方式,为0(不压缩);1(BI_RLE8)或2(BI_RLE4)*/DWORD biCompression;DWORD biSizeImage; /位图的大小,以字节表示*/LONG biXPelsPerMeter;/*设备水平分辨率,以每米像素数为单位*/LONG biYPelsPerMeter;/*设备垂直分辨率,以每米像素数为单位*/DWORD biClrUsed; /*位图使用的颜色数,0表示所有颜色都使用*/DWORD biClrImportant; /*重要的颜色索引,0表示所有颜色均重要*/
}BITMAPINFOHEADER2.4.2位图信息头BITMAPINFOHEADER
位图数据阵列记录了位图中的每一个像素值。位图数据的长度由图像尺寸、像素的位数和压缩方式等共同决定。实际尺寸可由文件头中的第二项“文件大小”减去第五项“数据偏移”值得到。
在生成位图文件时,Windows从位图的左下角开始(即从左到右从下到上)逐行扫描位图,将位图的像素值一一记录下来,这些记录像素值的字节组成了位图阵列。对于24位BMP,其像素数据由蓝绿红分量组成。2.4.3位图数据2.5OpenCV2.3图像处理函数OpenCV历史OpenCV使用介绍OpenCV历史OpenCV的全称是:OpenSourceComputerVisionLibraryOpenCV于1999年由Intel建立,现在由WillowGarage提供支持。OpenCV是一个基于BSD许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV历史计算机视觉市场巨大而且持续增长,且这方面没有标准API,目前的计算机视觉软件大概有以下三种:1.研究代码(慢,不稳定,独立并与其他库不兼容)2.耗费很高的商业化工具(比如Halcon,MATLAB+Simulink)3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是目前的现状.而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(IntegratedPerformancePrimitives)得到更快的处理速度。OpenCV历史1999年1月,CVL项目启动。主要目标是人机界面,能被UI调用的实时计算机视觉库,为Intel处理器做了特定优化。2006年,支持MacOS的OpenCV1.0发布。2011年8月,OpenCV2.3发布OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,目前这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。OpenCV教程:
/opencvdoc/2.3.2/html/index.html安装OpenCV基本数据结构学习OpenCV中的图像处理函数OpenCV图像显示窗口OpenCV教程:基本数据结构基本上讲Mat
是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。OpenCV教程:基本数据结构MatA;A=imread(filename,CV_LOAD_IMAGE_COLOR)MatD(A,Rect(10,10,100,100));//D为A中指定区域的数据MatF=A.clone();//矩阵复制MatM(2,2,CV_8UC3,Scalar(0,0,255));
//利用MAT函数创建矩阵一个Mat图像对象举例OpenCV教程:图像扫描OpenCV教程:图像扫描如何遍历图像中的每一个像素?OpenCV的矩阵值是如何存储的?对多通道图像来说,矩阵中的列会包含多个子列,其子列个数与通道数相等。例如,RGB颜色模型的矩阵:注意:子列的通道顺序是反过来的:BGR而不是RGB。很多情况下,因为内存足够大,可实现连续存储,因此,图像中的各行就能一行一行地连接起来,形成一个长行。连续存储有助于提升图像扫描速度,我们可以使用isContinuous()
来去判断矩阵是否是连续存储的.相关示例会在接下来的内容中提供。OpenCV教程:图像扫描矩阵是否连续存储?要求图像每行所占宽度(单位:字节数)必须是4的倍数。如果图像行数据所占宽度不是4的倍数,则必须补齐。举例:一幅32×64的彩色图像,其行数据所占宽度为64*3字节数,是4的倍数,无需补齐。一幅32×65的彩色图像,其行数据所占宽度为65*3=195字节,不是4的倍数,需补充一个1个字节(值为0),才能达到要求。OpenCV教程:图像扫描如何遍历图像中的每一个像素?
//I:Mat图像inti,j;uchar*p;for(i=0;i<nRows;++i){p=I.ptr<uchar>(i);
//行指针for(j=0;j<nCols;j++)
p[j]=1;//依次为该行的每个元素赋值}//I:Mat图像Mat_<Vec3b>_I=I;for(i=0;i<I.rows;i++)for(j=0;i<I.cols;j++){_I(i,j)[0]=value1;_I(i,j)[1]=value2;_I(i,j)[2]=value3;}OpenCV教程:基本图像操作
获取像素的亮度值Scalarintensity=img.at<uchar>(x,y);//灰度图像(单通道)亮度值Vec3bintensity=img.at<Vec3b>(x,y);ucharblue=intensity.val[0];uchargreen=intensity.val[1];ucharred=intensity.val[2];//彩色图像亮度值处理浮点图像(例如通对一个3通道图像进行Sobel运算得到的浮点图像)Vec3fintensity=img.at<Vec3f>(x,y);floatblue=intensity.val[0];floatgreen=intensity.val[1];floatred=intensity.val[2];OpenCV教程:基本图像操作定义2维和3维点vector<Point2f>points;vector<Point3f>points;
底层操作img=scalar(0);//图像全置为零Rectr(10,10,100,100);//定义一个矩形区域,左上角为10,10,高度和宽度为100.MatsmallImg=img(r);
将彩色图像转换为灰度图像Matimg=imread("image.jpg");//loadinga8UC3imageMatgrey;cvtColor(img,grey,CV_BGR2GRAY);
将图像的类型从8UC1转为32FC1src.convertTo(dst,CV_32F);OpenCV教程:基本图像操作显示图像OpenCV提供了方便查看图像的方法。Matimg=imread("image.jpg");namedWindow("image",CV_WINDOW_AUTOSIZE);imshow("image",img);waitKey();2.5MATLAB图像处理简介
MATLAB简介Matlab基本图像处理
2.5MATLAB图像处理简介
MATLAB简介使用复数矩阵做基本编程单元书写简单,使用方便,演草纸式语言功能强大,工具箱丰富,Imageprocessingtoolbox图形功能强大扩充能力强,交互性好2.5MATLAB基本图像处理一个MATLAB图像处理的例子
RGB=imread('westconcordaerial.png');figure,imshow(RGB);%显示彩色图像Gray=rgb2gray(RGB);%将彩色图像变成灰度图像imshow(Gray);%显示灰度图像2.5MATLAB基本图像处理图像类型图像文件的读写矩阵的基本操作数字图像处理附录图像类型灰度图像(IntensityImage)真彩色图像(RGBImage)二值图像(BWImage)2.5.1图像类型:灰度图像(IntensityImage)例如,用imagesc函数及colormap函数显示一幅灰度图像。I=imread('moon.tif');imagesc(I,[0256]);colormap(gray);%原图像经灰度缩放后显示的灰度图像2.5.1图像类型:灰度图像(IntensityImage)2.5.1图像类型:真彩色图像(RGBImage)例如:调用函数image来显示RGB图像。>>RGB=imread('football.jpg');>>imshow(RGB);确定像素(12,9)的颜色,可在命令行中键入>>RGB(12,9,:)2.5.1图像类型:真彩色图像(RGBImage)2.5.1图像类型:二值图像(BinaryImage)例如:显示二值图像。>>BW=imread('blobs.png');>>imshow(BW);2.5.1图像类型:二值图像(BinaryImage)2.5.2图像文件的读写图像文件的读取A=imread(’文件名’,文件格式)A=imread(’文件名.文件格式’)[X,map]=imread(’文件名’,文件格式)
图像文件的保存imwrite(A,’文件名’,文件格式)imwrite(X,map,’文件名’,文件格式)imwrite(...,’文件名’)imwrite(...,Parameter,Value,...)2.5.3
矩阵的基本操作表达式矩阵的输入矩阵下标
…数字图像处理附录(1)表达式
标量、向量和矩阵
字符串
操作符
(1)表达式:标量、向量和矩阵矩阵例如:2×3矩阵a=[123;456]向量例如:3×1的列向量a=[1;2;3]数组一维数组的数学原型是向量二维数组的数学原型是矩阵两行四列三页的三维数组(1,1,1)(1,2,1)(1,3,1)(1,4,1)(2,1,1)(2,2,1)(2,3,1)(2,4,1)(1,1,2)(1,2,2)(1,3,2)(1,4,2)(2,1,2)(2,2,2)(2,3,2)(2,4,2)(1,1,3)(1,2,3)(1,3,3)(1,4,3)(2,1,3)(2,2,3)(2,3,3)(2,4,3)页列行(1)表达式--标量、向量和矩阵字符串是用单引号来标示的。例如,S='IHaveaDream.'(1)表达式:字符串算术运算符例如:a=[123],b=[456];c=a*b’d=a.*be=a.^2f=a+2g=1:2:10h=1:10i=10:2:1(1)表达式:操作符关系运算符如果关系成立则为1,如果关系不成立则为0逻辑运算符逻辑运算符都是按元素操作的。
0表示逻辑假,任何非零值表示逻辑真运算符优先级由高到低的次序:括号算术运算符逻辑运算符关系运算符(1)表达式:操作符直接输入矩阵利用外部数据文件输入矩阵利用MATLAB内部函数与工具箱函数产生矩阵(2)矩阵的输入a=[123;456;789]a=[1,2,3;4,5,6;7,8,9]a=[1:3;4:6;7:9]b=(1:6)’(2)矩阵的输入:直接输入矩阵(2)矩阵的输入:利用外部数据文件输入矩阵函数load,读取事先已保存了的.mat数据文件,且数据文件中的内容是所需的矩阵函数wavread,读取Microsoft的WAV格式的音频文件函数imread,从图像文件中读取图像数据函数fopen、fread、fclose构成的任意文件的读取eye建立单位阵
y=eye(n)y=eye(m,n)y=eye([mn])y=eye(size(A))例如:>>a=eye(4)%产生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年热收缩塑料套管项目可行性研究报告
- 2024年汽车门衬板项目可行性研究报告
- 2024年商业批发贸易合同一
- 2024年品牌音响销售及服务协议
- 2024年工程安装承包细则合同版B版
- 二零二四年度资产购买合同的详细条款与标的属性2篇
- 二零二四年影视制作服务合同5篇
- 2024年度全桩基项目劳务分包协议模板版
- 2024工程建设项目现场安全措施合同一
- 新高考数学二轮提升练专题14 直线与圆(原卷版)
- 2024年江西省高考生物试卷(真题+答案)
- 品质提升计划改善报告课件
- 矸石处置协议书范本
- 人教版数学教育教学论坛
- 4、怎样加快溶解(教案)2023-2024学年三年级下册科学青岛版
- HJ 733-2014 泄漏和敞开液面排放的挥发性有机物检测技术导则
- 九年级新目标英语全册单词表(汉语默写版)
- 网络直播平台运营行业发展方向及匹配能力建设研究报告
- NB-T10208-2019陆上风电场工程施工安全技术规范
- 杂草清理合同模版
- 2024外墙水包砂施工合同
评论
0/150
提交评论