b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

数字图像处理灰度图像降采样和量化(byraphealguo.doc)

电脑杂谈  发布时间:2020-06-29 08:05:05  来源:网络整理

灰度图像数据量_灰度图像与二值图像_opencv 灰度图像 灰度值

实验报告-灰像降采样和量化课程名称: 数字图像处理实验编号: Project 02raphealguo(电子邮件: raphealguo @)实验开始时间: 2011年11月23日提交时间: 2011年11月25日摘要: 该实验讨论了降采样灰度图像的量化技术并实现(使用Matlab). 通过实验,比较了两种降采样方法(秩和平均数的删除)并比较了它们的处理结果. 讨论了两种量化方法(保留高位并使用IGS改进的灰度量化)并比较了处理结果. 技术讨论: 1.灰度图像的下采样在本报告中,我们将按比例讨论下采样. 给定m * n的灰度图像,请对s的比例进行下采样以获得m / s * n / s的灰度图像,此处s必须除以m和n. 方法一(PD): 通过删除行和列进行下采样. 该行的操作是保留一行以删除下一个s-1行. 同样,队列操作是保留一列,然后删除下一个s-1列. 方法二(AVE): 将图像划分为s * s个小窗口,此时的窗口数为m / s * n / s,并对每个小窗口进行平均运算以获得对应的窗口Gray值,公式如下: win(k)表示第k个窗口,Ii表示窗口中每个像素的灰度值,s是窗口大小,Pk是备用窗口的灰度值.

灰度图像与二值图像_opencv 灰度图像 灰度值_灰度图像数据量

2. 灰度图像的量化我们知道灰度范围是[0,255]. 从计算机存储的角度来看,每个灰度值为8位. 对于灰度图像,灰度级从256降低到灰度级128、64、32 ...可以看出,8位的值被1、2、3位丢弃了. 8位对灰度级的最大影响是最高位,因此在进行丢弃过程时,丢弃将从最低位开始,此处的丢弃将仅设置为0. 上面讨论了保留高级灰度值的量化方法. 在此基础上,我阅读了IGS改进的灰度量化方法. 此方法的结果仅适用于眼睛观看和图像压缩. 该方法是逐列扫描图像,然后使用类似于半色调打印的误差扩散概念来创建没有假边缘的量化图像. 现在假设根据前面的描述,需要将灰度级为8的图像量化为灰度级为4的图像,对于每个灰度值,只有前四位是重要的! IGS的处理步骤如下: 首先,将图像表示为8位二进制字符串. 图像的每一列分别进行处理;定义一个4位的字符串sum =“ 0000”;从左向右扫描对于图像的每一列,将当前像素值的二进制字符串相加以求和以获得结果I. 根据前面讨论的量化方法,I的前四位是量化结果,并且我的最后四位将参加下一轮比赛. 计算得出的总和值.

灰度图像数据量_opencv 灰度图像 灰度值_灰度图像与二值图像

如果像素的最左4位为“ 1111”,请跳过此加法步骤. 重复上述步骤,直到扫描完所有列. 列号灰度值二进制字符串和量化结果1480011 00000011 000048(0011 0000)2500011 00100011 001048(0011 0000)3520011 01000011 011048(0011 0000)4540011 01100011 110048(0011 0000)5560011 10000100 010064(0100 0000)62521111 11001111 0100240(1111( 0000)7580011 10100011 111048(0011 0000)8600011 11000100 101064(0100 0000)实验结果和讨论使用PD下采样和AVE下采样进行灰度图像下采样的结果如图1.(a)-(e)所示: (a)(b)(c)(d)(e)图1.使用PD方法对左列进行下采样,使用AVE方法对右列进行下采样; a)图像分辨率为16 * 16,B)图像分辨率为32 * 32,... e)图像分辨率为256 * 256. 从图2中的比较可以看出, 1,使用AVE降采样方法,图像的色彩过渡将少于使用PD降采样的方法. 从该实验的图片lena.bmp可以明显看出,AVE方法将使处理效果更好. 从(d)中可以清楚地看到差异,并且某些边缘将更平滑.

灰度图像与二值图像_opencv 灰度图像 灰度值_灰度图像数据量

2. 使用非IGS量化方法和IGS量化方法对灰度图像进行量化的结果如图2a)-(g)所示: (a)(b)(c)(d)(e)(f)(g图2.左列采用非IGS量化,右列采用IGS量化方法; a)图像灰度等级为2,b)图像灰度等级为4,g)图像灰度等级为128. 从图2中的比较可以看出,使用IGS量化方法,在低灰度分辨率下,灰度过渡会更加自然灰度图像数据量,不会像普通的量化方法那样出现较大的边缘. 僵硬的色块. 我认为这种结果可能只会使人眼更有效地查看结果,但可能对分析数据没有帮助. 附录: Matlab源码%--------------------------------------------- -------%下采样通过删除行和列%@ author raphealguo(Email: raphealguo @)%------------------------- ---------------------------%-------%下采样通过删除行和列%% @ param%scale: 应该被img的行和col%@ return%y整除: 新图像的数据功能y = downsampling_pd(scale)%读取img x = imread('lena.bmp'); [r,c] = size(x) ; if(mod(r,scale)〜= 0 || mod(c,scale)〜= 0)error('param scale必须是一个可以被img的row和col整除的整数) ; endnew_r = r / scale; new_c = c / scale; y =零(new_r,new_c);对于(i = 1: r)if(mod(i,scale)== 0)对于(j = 1: c)如果(mod(j,scale)== 0)y(i / scale,j / scale) = x(i,j); endendendendy = uint8(y);%保存图像,其文件名如下: “ lena_downsampling_pd_128_128.bmp” imwrite(y,['lena_downsampling_pd_',num2str(new_r),'_',num2str(new_c), '.bmp']); end%------------------- ---------------------- -----------%通过AVE%下采样@author raphealguo(Email: raphealguo @)%------------------------ ---------------- ------------%-------%按AVE %%下采样@param%scale: 应该是可被img的行和col%@ return%y整除: 新图像的数据功能y = downsampling_ave(scale)%read img x = imread('lena.bmp'); [r,c] = size(x); if (mod(r,scale)〜= 0 || mod(c,scale)〜= 0)error('param scale必须是一个可以被img的row和col都可整除的整数); endnew_r = r / scale; new_c = c / scale; s = scale; y = zeros(new_r,new_c); for(i = 1: new_r)for(j = 1: new_c)%get Winwin = x((i * s-s + 1):( i * s),(j * s -s + 1):( j * s)); Winy(i,j)的平均校准平均值%= floor(sum(sum(win)) / s ^ 2); endendy = uint8(y);%保存图片,其文件名如下: “ lena_downsampling_ave_128_128.bmp” imwrite(y,['lena_downsampling_ave_',num2str(new_r),'_',num2str(new_c),'. bmp']); end%---------- --------------------------------- ---------%量化通过保持高位%@ author raphealguo(Email: raphealguo @)%------------------------ -------------- --------------%-------%通过保持高位%% @param%bit: range量化[1,7],表示图像量化后的灰度分辨率. %@ return%y: 图像的数据函数y =量化(位)%读取img x = imread('lena.bmp'); lower_bits = uint8(2 ^(8位)-1); high_bits = uint8(2 ^ 8-double(lower_bits)-1);%保留每个图像的高位'pixelsy = uint8(bitand(x,high_bits));%保存图像,其文件名如: “ lena_quantize_1.bmp” imwrite (y,['lena_quantize_',num2str(bit),'. bmp']); end%---------------------------- ------ ------------------%使用IGS量化-“改进的灰度”%@author raphealguo(Email: raphealguo @)%--- ------ -------------------------------------------% -------%通过使用IGS进行量化-“改进的灰度” %% @param%bit: range [1,7],表示图像被量化后的灰度分辨率. %@ return%y: image的数据功能y = quantize_igs(bit)%读取img x = imread('lena.bmp'); lower_bits = uint8(2 ^(8位)-1); high_bits = uint8(2 ^ 8-double(lower_bits)-1);%获取图像的大小[r,c] = size(x);%sum(r * 1)初始化为零和= zeros(r,1 );%如果x的高位全为1灰度图像数据量,则使权重为零. hitest= double(bitand(x,high_bits)〜= high_bits); x = double(x);对于j = 1: c%sum = sum + p仅当p的高位至少包含一个零和= x(:, j)+ hitest(:, j). * double(bitand(uint8(sum),lower_bits)) ;%保持每个图像的高位'pixelsy(:, j)= bitand(uint8(sum),high_bits); endy = uint8(y);%保存图像,其文件名如下: “ lena_quantize_igs_1.bmp” imwrite(y,['lena_quantize_igs_',num2str(bit),'. bmp']);结束实验报告-灰度图像降采样与量化-1-


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-262132-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...