文档详情

基于MATLAB图像处理(第2版)讲稿介绍.ppt

发布:2017-03-23约2.8万字共209页下载文档
文本预览下载声明
设计下面程序: for i=1:9 k=int2str(i); k1=strcat(D:\image\zuqiu\chanshe0,k,.jpg); A(i,:,:,:)=imread(k1); end sa=size(A); load B; B1=rgb2gray(B); B1=double(B1); sb=size(B1); sb1=sb(1);sb2=sb(2); for i=1:9 C(:,:,:)=A(i,:,:,:); D=rgb2gray(C); for m=1:5:sa(2)-19 for n=1:5:sa(3)-33 E=imcrop(D,[m,n,32,18]); E1=double(E); F=corrcoef(E1,B1); if F0.9 disp(i,m,n) end end end end 该程序能够实现广告牌的查找,查找结果就是把位置坐标等显示在命令窗口。 图像的特征提取是图像理解领域的最基本、最关键的内容。 广义上讲,图像轮廓提取、图像不变矩等几何量求取、图像变换等都可以看作图像特征提取,都可以作为图像特征用于图像识别、图像理解、图像数据库索引的构造等领域。 本节给出几种简单、实用的图像特征提取方法。 这些特征提取方法简单,计算量小。不过这些特征涵盖面大,基本上把图像的灰度纹理特性、颜色分布特性等表达出来。 【算法6-1】斜向扫描颜色变化特征提取方法 (1)?????? 图像化成HSV图像,取饱和度图像I1与纯度图I3。 (2) for j=1 to 3 从左边的j-j/3点处(从上到下),到下面底边(从左向右)的j/3处这段线段上取点,提取出这些点上的图像值。 I1的值存入K11(j),I3的值存入K31(j)中。 end (3) for i=0 to 3 从上面列的i/3点处到下面行的i-i/3处这段线段上取点,提取出这些点上的值。 I1的值存入K12(i),I3的值存入K32(i)中。 end (4) 使用下面的公式,求上面一共12个数组每个数组的标准偏差, 6.1 图像编码 6.1.1 Huffman编码 6.1.2离散余弦变换编码 6.1.3小波变换编码 图像编码,本质上来说,就是为了一定的目的对图像数据按约定的规则进行变换和组合,得到新的数据集合。如果目的是以尽可能少的代码来表示尽可能多的数据信息,那么这种编码就是图像压缩;如果目的是防止传输的过程中被窃取,那么这种编码就是图像信息隐藏。 从编码对象上可以把图像编码分为 静止图像编码、视频(活动)图像编码、二值图像编码等; 从信息损失的角度可以分为有损编码与无损编码; 从具体的编码技术角度可以分为 空域法、变换域法,还可以分为像素编码、 预测编码、变换编码等。 编码是计算机处理数据时使用的一种通用方法。例如,一个文件中出现了5种字符a、b、c、d、e,那么就可以用000,001,010,011,100表示这5个字符。字符串abcaaaaccde就可以表示为:000001010000000000000010010011100。这种表示方法一共需要33比特。这种编码方式是可行的,如果传输不出现差错的话,可以按照约定准确地读出所表达的字符串。不过这种方法还可以进一步改进,使其更加高效。例如,可以使用下面的霍夫曼编码方法进行编码。 【例6-3】设计程序计算例6-1中各个数据元素的霍夫曼编码值。 global static C P=[5/11 3/11 1/11 1/11 1/11]; C=cell(length(P),1); s=cell(length(P),1); for i=1:length(P) s{i}=i; end while numel(s)2 [P,i]=sort(P); P(2)=P(1)+P(2); P(1)=[]; s=s(i); s{2}={s{1},s{2}}; s(1)=[]; end makec(s,[]); C function makec(sc,cod) global static C if isa(sc,cell) makec(sc{1},[cod 0]); makec(sc{2},[c
显示全部
相似文档