7自编数字图像处理实验参考答案.doc

上传人:文库蛋蛋多 文档编号:2893659 上传时间:2023-03-01 格式:DOC 页数:68 大小:2.85MB
返回 下载 相关 举报
7自编数字图像处理实验参考答案.doc_第1页
第1页 / 共68页
7自编数字图像处理实验参考答案.doc_第2页
第2页 / 共68页
7自编数字图像处理实验参考答案.doc_第3页
第3页 / 共68页
7自编数字图像处理实验参考答案.doc_第4页
第4页 / 共68页
7自编数字图像处理实验参考答案.doc_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《7自编数字图像处理实验参考答案.doc》由会员分享,可在线阅读,更多相关《7自编数字图像处理实验参考答案.doc(68页珍藏版)》请在三一办公上搜索。

1、数字图像处理及MATLAB实现实验指导参考答案目录实验1 MATLAB软件入门及数字图像处理工具箱(2学时)2实验3 MATLAB实现数字图像的变换技术(2学时)10实验4 MATLAB实现数字图像增强(2学时)11实验5 MATLAB实现图像的复原(2学时)16实验6 MATLAB实现图像分割(2学时)16实验7 MATLAB实现彩色图像处理(2学时)19实验8 MATLAB实现数字图像其它处理(2学时)20实验1 MATLAB软件入门及数字图像处理工具箱(2学时)【实验内容】一、二两项略一、运行MATLAB,要求完成:(1)、了解MATLAB工作环境(2)、运用MATLAB帮助系统,查询i

2、mread,imwrite,imshow这3个工具箱函数的功能,给出解释(3)、在桌面上建立一个文件夹,以本人姓名拼音缩写为文件名,将该文件夹通过set path设置,放到MATLAB的搜索路径下。截图最后操作的界面,保存至该文件夹下。二、了解MATLAB的一些简单的工具箱函数使用,在MATLAB下完成一些图像处理操作。1、在命令窗口下依次输入如下带下划线的英文命令,无需写注释,对比查看结果:(1)、读入并显示一幅图像 clear; close all; %首先清除 MATLAB 所有的工作平台变量,关闭已打开的图形窗口。 I=imread(pout.tif);%然后使用图像读取函数 imre

3、ad 来读取一幅图像。假设要读取图像 pout.tif,并将其存储在一个名为 I的数组中 imshow(I) %使用 imshow 命令来显示数组 I 观察显示结果 (2)、检查内存中的图像 Whos %使用 whos命令来查看图像数据 I是如何存储在内存中,MATLAB 做出的响应如下: Name Size Bytes ClassI291 240 69840 uint8 array Grand totalis69840 elementsusing69840 bytes(3)、实现直方图均衡化 如pout.tif图像对比较低,为了观察图像当前状态下亮度分布情况,可以通过使用 imhist函数创

4、建描述该图像灰度分布的直方图。 figure,imhist(I);%首先使用 figure命令创建一个新的图像窗口,避免直方图覆盖图像数组 I的显示结果。 I2 =histeq(I); figure,imshow(I2);%可以通过调用 histeq函数将图像的灰度值扩展到整个灰度范围中,从而达到提高数组 I的对比度。此时修改过的图像数据保存在变量 I2中。然后,再通过调用imhist函数观察其拓展后的灰度值的分布情况。(4)保存图像 将新调节后的图像 I2保存到磁盘中。假设希望将该图像保存为 PNG 格式图像文件,使用 imwrite函数并指定一个文件名,该文件的扩展名为.png。 imwr

5、ite(I2,pout2.png);(5)检查新生成文件的内容 利用 imfinfo函数可以观察上述语句写了什么内容在磁盘上。值得注意的是:在 imfinfo函数语句行末尾不要加上分号,以保证 MATLAB 能够显示图像输出结果;另外,要保证此时的路径与调用 imwrite时的路径一致。 imfinfo(pout2.png)2、对一幅灰度图像 rice.tif进行一些较为高级的操作,在文本编辑器下输入如下程序,保存成test.m文件,按要求做,调试成功,并观察显示结果:clear; close all;I=imread(rice.tif);imshow(I);%此处加一个断点,观察结果back

6、ground =imopen(I,stre(disk15);%实现了背景亮度的估计I2 =imsubtract(I,background);%得到背景一致的图像figure,imshow(I2);%此处加一个断点,观察结果I3 =imadjust(I2,stretchlim(I2),0,1);%修改后图很暗,调节对比度 figure,imshow(I3);%此处加一个断点,观察结果level=graythresh(I3);bw =im2bw(I3,level);%通过阈值法实现图像的二值化figure,imshow(bw);%此处加一个断点,观察结果labeled,numobjects=bwl

7、abel(bw,4); % labelcomponents %找出米粒的个数: numobjects=80grain =imcrop(labeled);%使用imcrop选择标记区域RGB_label(grain,spring,c,shuffle);%伪彩色显示标记矩阵Figure,imshow(RGB_label) %此处加一个断点,观察结果graindata=regionprops(labeled,basic)allgrains=graindata.area;max(allgrains)%找最大的那粒米的尺寸biggrain =find(allgrains=695)%返回最大的那粒米的标记

8、号,%biggrain =68mean(allgrains)%米粒的平均尺寸hist(allgrains,20);%绘制一个包含20柱的直方图来说明米粒大小的分布三、编程综合练习1、试对lena图像分别进行4和16倍减采样,查看其减采样效果,分析。提示:二维图像处理,行每隔2,列每隔2,抽取,则实现4倍减采样;行每隔4,列每隔4,抽取,则实现16倍减采样参考程序如下:cleara=imread(lena.bmp); b=rgb2gray(a); figure subplot(1,3,3),imshow(a),title(原图像); m=2 4; for mn=1:2 width,height=

9、size(b); quartimage=zeros(floor(width/(m(mn),floor(height/(m(mn); k=1; n=1; for i=1:(m(mn):width for j=1:(m(mn):height quartimage(k,n)=b(i,j); n=n+1; end k=k+1; n=1; end subplot(1,3,mn) imshow(uint8(quartimage); mm=m(mn)*m(mn); title(int2str(mm) ,倍减采样图像)end图1.1 减采样显示结果2、任选一副彩色图像,将其转换成256级灰度图像,64级灰度图

10、像,16级灰度图像,2级灰度图像,显示并存储显示结果图,观察转换后图像的变换,并分析。(即灰度级的量化)cleara=imread(lena.bmp);b=rgb2gray(a); figuresubplot(2,3,1)imshow(b),title(256级原图像)width,hei=size(b);img64=zeros(width,hei);img32=zeros(width,hei);img8=zeros(width,hei);img2=zeros(width,hei);for i=1:widthfor j=1:heiimg64(i,j)=floor(b(i,j)/4);endend

11、subplot(2,3,2)imshow(uint8(img64),0,63);title(64级图像)for i=1:widthfor j=1:heiimg32(i,j)=floor(b(i,j)/16);endendsubplot(2,3,3)imshow(uint8(img8),0,7);title(8级图像)for i=1:widthfor j=1:heiimg2(i,j)=floor(b(i,j)/128);endendsubplot(2,3,4)imshow(uint8(img2),0,1);title(2级图像) 【思考题】1、数字图像在MATLAB中以数据矩阵方式表达,如何通过

12、MATLAB语句截取图像的一部分矩形区域进行分析处理。答:由于数字图像在MATLAB中以数据矩阵方式表达,因此可用截取矩阵的方式来实现对图像的截取,如原图像大小为A(256,256),则A(1:100,1:200)则实现了对图像截取(1-100行,1-200列)进行读取。2、图像的数字化工作包括哪两个方面?答:图像的数字化工作包括采样和量化两个方面,采样指的是空间域的离散化,量化指的是灰度(亮度)的离散化。3、图像工程包含哪3个层次?你最感兴趣的是图像处理哪个方面的内容?答;图像工程包含由低到高图像处理,图像分析,图像理解3个层次。 实验2 数字图像的MATLAB基本操作(2学时)【实验内容】

13、一、图像读取,显示,保存1、利用imread( )函数从内存中读取一幅绘有花朵的tif图像,假设其名为flower.tif,存入一个数组I中;利用whos 命令提取该读入图像flower.tif的基本信息;利用imshow()函数来显示这幅图像,并添加颜色条;利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,放在桌面上,并显示出来,设为flower.jpg;语法:imwrite(原图像,新图像,quality,q), q取0-100。程序段及显示结果如下:(1)I=imread(flower.ti

14、f);Imshow(I) (2)whos Name Size Bytes Class AttributesI 296x394x3 349872 uint8 (3)imfinfo(flower.tif)ans = Filename: flower.tif FileModDate: 09-十月-2013 10:35:38 FileSize: 48384 Format: jpg FormatVersion: Width: 394 Height: 296 BitDepth: 24 ColorType: truecolor FormatSignature: NumberOfSamples: 3 Codi

15、ngMethod: Huffman CodingProcess: Sequential Comment: (4)imwrite(I,flower.jpg,quality,10); (5)imwrite(I,flower.bmp,quality,10); 2、用函数imread()读入图像forest.tif 和trees.jpg,使用imshow命令在同一图形窗中显示两者;再打开另一个图形窗,利用subimage函数实现在同一个图形窗口中显示该两幅图像,对比前后两者的显示效果,给出解释。程序如下:I1=imread(forest.tif);I2=imread(trees.jpg)figure,

16、subplot(2,1,1),imshow(I1);subplot(2,1,2),imshow(I2);figure,subplot(2,1,1),subimage(I1);sublot(2,1,2),subimage(I2); 对比前后两者的显示效果,imshow显示的图片有问题,而subimage则显示正常。原因:subimage可以在一个界面上同时显示几幅不同调色板的图像3、总结imshow命令的使用方式,并给出简单实例语句。(如何显示索引图像,RGB图像,二进制图像,非图像矩阵等)总结如下:1、imshow(I)%显示图像最基本命令,imshow(I,low,high)%按照最大灰度范

17、围显示图像2、imshow(I,map)%按照调色板map,显示索引图像3、imshow(I,N)%显示具有N个灰度级的灰度图像4、imshow(BW)%显示二值图像BW可参考教材(余成波)3.3节内容二、图像类型转换1、编写一个m文件实现如下功能:读入任意一幅RGB图像,选择合适的函数将其变换为灰度图像和二值图像,并在同一个窗口内分成三个子区域来分别显示RGB图像,灰度图像,二值图像。程序及显示结果如下:RGB=imread(xianhua.jpg);Y=rgb2gray(RGB);BW=im2bw(RGB,0.4);subplot(1,3,1),imshow(RGB);subplot(1,

18、3,2),imshow(Y);subplot(1,3,3),imshow(B);三、图像运算1、线性点运算(1)、给出如下程序rice=imread(rice.png);I=double(rice);A=0.43;B=60;J=I*A+B;rice2=uint8(J);subplot(1,2,1),imshow(rice);subplot(1,2,2),imshow(rice2);运行该程序,观察显示效果,修改以上线性点运算程序,改变A和B值,分析A的值大于1和小于1时,B的值正负时,对原图像的影响。参考程序如下:程序如下:(1)rice=imread(rice.png); (2)rice=i

19、mread(rice.png);I=double(rice); J=60; J=I*0.43+60; subplot(1,2,1),imshow(rice);rice2=uint8(J) ; subplot(1,2,2),imshow(rice2); subplot(1,2,1),imshow(rice);subplot(1,2,2),imshow(rice2); (3) J=I*0.22+60; (4)J=I*0.68+60; (5)J=I*0.43+30; (6) J=I*0.43+100; (2)、任选一副图像或下图进行点运算,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来

20、分别显示,注上文字标题。图2.10 例图参考程序如下:mei=imread(mei.jpg);J=mei*0.43+100;K=mei*0.43+30;Z=255-mei;subplot(1,4,1),imshow(mei);subplot(1,4,2),imshow(J); subplot(1,4,3),imshow(K);subplot(1,4,4),imshow(Z);2、代数运算(1)、选取两幅大小相同的灰度图像A,B,或将不同大小的图像截取成相同大小后,将两幅图像执行加法运算得到C。(2)、选取以上相加后的图像C作为源图像,将该混合图像与背景图像A或B做减法,显示结果。(3)、选取一

21、副灰度图像A,设置一个掩模模板B,需要保留的区域,图像值为1,而在需要被抑制的区域,则设为0,完成A.*B,显示结果。提示:模板构造时,大小与源图像一致,如:B=zeros(256,256);B(40:200,40:200)=1,就构成一个模板。根据以上结果,分析图像加法,减法,乘法运算的应用特点(1)、I=imread(A.jpg);J=imread(B.jpg);K=imadd(I,J);subplot(1,3,1),imshow(I);title(原图1);subplot(1,3,2),imshow(J); title(原图2);subplot(1,3,3),imshow(K); tit

22、le(相加)结果如下: (2)、相减%K为上题图I=imread(A.jpg);J= imsubtract(K,I);subplot(1,3,1),imshow(I);title(原图1);subplot(1,3,2),imshow(K); title(相加图);subplot(1,3,3),imshow(J2); title(相减后图)3、几何运算(1)、对任意一幅图像调用imresize函数,分别实现对原图的2倍比例放大,0.8倍比例缩小,非比例放大和缩小(人为定义调整后的图像长宽尺寸),并分别显示结果,对比分析不同的插值方法效果。参考程序如下:A=imread(lena.jpg);%假设

23、原图为256*256B=imresize(A,2);%2倍放大C=imresize(A,0.8);%0.8倍缩小D=imresize(A,300 300);%非比例放大到300*300E=imresize(A,200 200);%非比例缩小到200*200%在以上几条语句的基础上,也可在Imresize后面添上一个参数method,指明插值方式,如nearest,bilinear,bicubicsubplot(2,2,1),imshow(B),title(放大2倍)subplot(2,2,2),imshow(C),title(0.8倍缩小)subplot(2,2,3),imshow(D),ti

24、tle(非比例放大)subplot(2,2,4),imshow(E),title(非比例缩小)(2)、任选一副图像,使用imrotate函数,分别顺时针60度,逆时针90度旋转,选择裁剪性旋转或非裁剪性旋转,在同一个窗口中显示处理后的图像。参考程序如下:I=imread(hua.jpg);J11=imrote(I,-60,bilinear);%顺时针旋转60度,非裁剪型旋转J12=imrote(I,-60,bilinear,crop);%顺时针旋转60度,裁剪型旋转J21=imrote(I,90,nearest);%逆时针旋转90度,非裁剪型旋转J22=imrote(I,90,nearest,

25、crop);%逆时针旋转90度,裁剪型旋转subplot(2,2,1),imshow(J11),title(放大2倍)subplot(2,2,2),imshow(J12),title(0.8倍缩小)subplot(2,2,3),imshow(J21),title(非比例放大)subplot(2,2,4),imshow(J22),title(非比例缩小)显示结果如下:(3)、任选一幅图像,调用imcrop对该图片进行剪裁,显示处理后的图像。I=imread(hua.jpg);J=imcrop;subplot(2,1,1),imshow(I);title(原图);subplot(2,1,2),im

26、show(J);title(剪裁后图);(4)、任选一幅图像,编程实现该图像的平移和镜像(选作)。参考程序如下:function I=hmove(i,x0,y0); %编写实现图像平移的函数hmove,平移量为x0,y0,平移前图像矩阵为i,r,c=size(i); I(r+x0,c+y0)=0; %平移后图像矩阵为Ifor x=1:r; for y=1:c; x1=x+x0; y1=y+y0; I(x1,y1)=i(x,y); end;end; 主程序:RGB=imread(hua.jpg);subplot(2,2,1)imshow(RGB),title(原图)subplot(2,2,2)g

27、ray1=rgb2gray(RGB);title(灰度图)imagesc(gray1),colormap(gray);subplot(2,2,3)I1=hmove(gray1,100,20);title(平移图)subimage(gray1),axis(image);subplot(2,2,4),imagesc(I1),colormap(gray),axis(1,700,1,820);镜像沿纵轴翻转,水平镜像:a(x,y) = -x; b(x,y) = y;沿横轴翻转,垂直镜像:a(x,y) = x; b(x,y) = -y;对于实际的图像来说,即将图像的左右或上下翻转,程序如下:I0=imr

28、ead(hua.jpg);I=rgb2gray(I0);r,c=size(I);I1=zeros(r,c);%水平镜像I1(1:r,1:c)=I(1:r,c:1);%垂直镜像I1(1:r,1:c)=I(r:1,1:c);(5)、了解用imtransform和maketform函数实现各种空间变换的方法。演示一下程序:仿射变换,可以用以下函数来描述:,其中,A是变形矩阵,b是平移矩阵。尺度变换:CLF;I=checkerboard(20,2);subplot(121);imshow(I);axis on;title(原图)s=1.5;T=s 0;0 s;0 0;tf=maketform(affi

29、ne,T);I1=imtransform(I,tf,bicubic,FillValues,0.3);subplot(122);imshow(I1);axis on;title(尺度变换) 伸缩变换【例】CLF;I=checkerboard(20,2);subplot(121);imshow(I);axis on;title(原图)t=2;T=1 0;0 t;0 0;tf=maketform(affine,T);I1=imtransform(I,tf,bicubic,FillValues,0.3);subplot(122);imshow(I1);axis on;title(伸缩变换) 旋转变换:

30、CLF;I = checkerboard(20,2);subplot(1,2,1);imshow(I);title(原图)angle=20*pi/180;sc=cos(angle);ss=sin(angle);T=sc -ss; ss sc;0 0;tf=maketform(affine,T);I1=imtransform(I,tf,bicubic,FillValues,0.3);subplot(122);imshow(I1);title(旋转变换) 综合变换【例】CLF;I = checkerboard(20,2);subplot(1,2,1);imshow(I);title(原图)s=2;

31、As=s 0;0 s; % 尺度t=2;At=1 0;0 t; % 伸缩u=1.5;Au=1 u;0 1; % 扭曲st=30*pi/180;sc=cos(angle);ss=sin(angle);Ast=sc -ss; ss sc; % 旋转T=As*At*Au*Ast;3 5;tf=maketform(affine,T);I1=imtransform(I,tf,bicubic,FillValues,0.3);subplot(122);imshow(I1);title(综合) 四、图像邻域操作、区域操作、图像统计及MATLAB实现1、运行以下程序,观察显示结果:(1)、%用函数mean作滑动

32、处理CLFI=imread(tire.tif);I2=nlfilter(I,5 5,mean2);subplot(121),imshow(I,);subplot(122),imshow(I2,); (2)%用自定义函数作滑动处理CLFI=imread(tire.tif);f=inline(max(x(:);I2=nlfilter(I,3 3,f);subplot(1,2,1),imshow(I);subplot(1,2,2),imshow(I2); (3)%快速滑动领域操作CLFI=imread(tire.tif);I2=colfilt(I,5 5,sliding,mean);subplot(

33、121),imshow(I,);subplot(122),imshow(I2,); (4)%用列操作函数实现滑动CLFI=imread(ic.tif);I1=im2col(I,3 3,sliding);I1=uint8(0 -1 0 -1 4 -1 0 -1 0*double(I1);I2=col2im(I1,3,3,size(I),sliding);subplot(121),imshow(I,);subplot(122),imshow(I2,); (5)%图像块操作(分离)CLFI=imread(tire.tif);f=inline(mean2(x)*ones(size(x);I2=blkp

34、roc(I,8 8,f);subplot(1,2,1),imshow(I,)subplot(1,2,2),imshow(I2,) (6)%快速块操作(分离)CLFI=imread(tire.tif);f=inline(ones(64,1)* mean(x);I2=colfilt(I,8 8,distinct,f);subplot(1,2,1),imshow(I,)subplot(1,2,2),imshow(I2,) (7)%用列操作函数实现块操作(分离)CLFI=imread(tire.tif);I1=im2col(I,8 8,distinct);I1=ones(64,1)* mean(I1)

35、;I2=col2im(I1,8,8,size(I),distinct);subplot(121),imshow(I,);subplot(122),imshow(I2,); 从显示结果中,试分析滑动领域与分离领域操作的区别?答:滑动领域各邻域之间有重叠,而分离领域操作各领域间没有重叠部分,因此同样做均值处理,滑动邻域操作后,图像相对光滑,而分离领域操作后图像有块状马赛克效应,颗粒感强。2、练习roipoly, roicolor, roifilter函数的使用(参考相关教学资料)可演示以下部分程序来体会函数的用法;【例】多边形选择区域CLFI=imread(eight.tif);c=222 272

36、 300 270 221 194;r=21 21 75 121 121 75;BW=roipoly(I,c,r);subplot(121),subimage(I);subplot(122),subimage(BW); 【例】灰度选择法CLFI=imread(rice.tif);BW=roicolor(I,128,255);subplot(121),subimage(I);subplot(122),subimage(BW); 【例】对指定区域进行锐化CLFI=imread(eight.tif);c=222 272 300 270 221 194;r=21 21 75 121 121 75;BW=

37、roipoly(I,c,r);h=fspecial(unsharp); % 滤波函数J=roifilt2(h,I,BW);subplot(121),subimage(I);subplot(122),subimage(J); I=imread(eight.tif);c=222 272 300 270 221 194;r=21 21 75 121 121 75;J=roifill(I,c,r);subplot(121),subimage(I);subplot(122),subimage(J); 【思考题】1、 MatLab软件可以支持哪些图像文件格式? 答:Matlab可支持的图像格式包括BMP,

38、JPEG,TIFF,GIF等等。2、MATLAB中有哪些类型的图像,在MATLAB中分别用什么类型的数组来存储?答:MATLAB图像处理工具箱包括5种类型的图像,如下二进制图像,使用uint8或双精度类型数组存储索引图像,数据矩阵使uint8,uint16或双精度类型,颜色映射矩阵每个元素均为0 1间的双精度浮点型数据。灰度图像,uint8,uint16或双精度类型的数组来描述RGB图像,双精度浮点型,uint8,uint16类型多帧图像3、由图像算术运算的运算结果分析,思考图像减法运算在什么场合上发挥优势?答:图像减法是一种常用于检测图像变化及运动物体的图像处理方法。在很短时间内,可认为图像

39、背景固定不变,可以直接运用减法运算来检测变化或运动的物体。4、非比例缩放得到的图片和比例缩放得到的图片有何差异?是否失真?答:非比例缩放图像对原图有畸变,而按照比例缩放的图像没有畸变。由于x,y方向的缩放比例不同,改变了原始图像像素的相对位置,产生了几何畸变。5、图像的旋转会导致图像的失真么?图像的旋转有时会发生失真,尤其旋转不是90度整数倍时。【实验设备】装有MATLAB软件的电脑,u盘【实验报告要求】1、实验报告写明实验题目,可简写实验原理,实验内容,详细写实验过程和实验结果分析,要求附相关程序及显示结果2、回答思考题,写在实验报告上实验3 MATLAB实现数字图像的变换技术(2学时)【实

40、验内容】一、傅里叶变换1、选择任意一幅图像进行平移和旋转,显示原始图像与处理后图像,分别对其进行FFT傅里叶变换,显示变换后结果,并要求使用FFTshift搬移频谱中心,分析原图的傅里叶谱与平移,旋转后傅里叶频谱的对应关系。参考程序如下(参考程序中是人为构造一个图像矩阵,形成一幅图像,也可选择现成的图像进行平移,旋转,而后求解傅里叶变换):【例】图像的平移CLFf1 = zeros(256,256);f1(108:148,108:148) = 1;f2 = zeros(256,256);f2(158:198,58:98) = 1;%与f1相比,就是平移效果F1 = fft2(f1);F1 =

41、log(1+abs(F1);F2 = fft2(f2);F2 = log(1+abs(F2);subplot(221),imshow(f1,)subplot(222),imshow(f2,)subplot(223),imshow(F1,)subplot(224),imshow(F2,) 平移性:原图像平移,变换图像幅值图没有变化,但相位会旋转。【例】图像的旋转CLFf1 = zeros(256,256);f1(58:198,108:148) = 1;f2 = imrotate(f1,45,crop);F1 = log(1+abs(fftshift(fft2(f1);F2 = log(1+abs

42、(fftshift(fft2(f2);subplot(221),imshow(f1,)subplot(222),imshow(f2,)subplot(223),imshow(F1,)subplot(224),imshow(F2,) 图像旋转,谱旋转注:2、运行如下程序:bw = imread(text.png)a = bw(32:45,88:98); %a=imcrop(bw);figure,subplot(1,2,1),imshow(bw);subplot(1,2,2), imshow(a);C = real(ifft2(fft2(bw) .* fft2(rot90(a,2),256,256);figure,subplot(1,2,1), imshow(C,) ;max(C(:);thresh = 60; subplot(1,2,2), imshow(C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号