數(shù)字圖像處理課程設(shè)計(jì) matlab_第1頁(yè)
數(shù)字圖像處理課程設(shè)計(jì) matlab_第2頁(yè)
數(shù)字圖像處理課程設(shè)計(jì) matlab_第3頁(yè)
數(shù)字圖像處理課程設(shè)計(jì) matlab_第4頁(yè)
數(shù)字圖像處理課程設(shè)計(jì) matlab_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)字圖像處理課程設(shè)計(jì)文檔 目錄一、 課程設(shè)計(jì)目的.2二、 課程設(shè)計(jì)要求.2三、 課程設(shè)計(jì)的內(nèi)容.2四、 課題分析.3五、 總體設(shè)計(jì).3六、 具體設(shè)計(jì).46.1、 文件.46.1.1、打開(kāi).46.1.2、保存.46.1.3、打印.46.1.4、退出.46.2、直方圖統(tǒng)計(jì).46.2.1、R直方圖.46.2.2、G直方圖.46.2.3、B直方圖.46.3、圖像增強(qiáng)處里.56.3.1、直方圖均衡化.56.3.2、對(duì)比度展寬.66.3.3、動(dòng)態(tài)范圍調(diào)整.66.3.4、空間域平滑算法.6 6.3.4.1、均值濾波.7 6.3.4.2、中值濾波7 6.3.4.3、邊界保持濾波86.4、圖像分割.8 6.4.

2、1、均勻性度量法8 6.4.2、類(lèi)間最大距離法.9 6.4.3、局部閾值法.96.5、顏色空間轉(zhuǎn)化.9 6.5.1、RGB轉(zhuǎn)HSV10 6.5.2、RGB轉(zhuǎn)HIS.106.6、其他圖像處理功能10 6.6.1、銳化.10 6.6.2、傅里葉.10七、 程序調(diào)試及結(jié)果分析.11八、 心得體會(huì).11九、 參考文獻(xiàn).11十、 附錄.12基于MATLAB的圖像處理的課程設(shè)計(jì)一、課程設(shè)計(jì)目的1、提高分析問(wèn)題、解決問(wèn)題的能力,進(jìn)一步鞏固數(shù)字圖像處理系統(tǒng)中的基本原理與方法。2、熟悉掌握一門(mén)計(jì)算機(jī)語(yǔ)言,可以進(jìn)行數(shù)字圖像的應(yīng)用處理的開(kāi)發(fā)設(shè)計(jì)。二、課程設(shè)計(jì)要求1、 要求獨(dú)立完成設(shè)計(jì)項(xiàng)目,開(kāi)發(fā)工具為MATLAB,也

3、可為C、C+、java等,具體自選。各組長(zhǎng)有責(zé)任督促組員完成任務(wù)并提交報(bào)告;2、 時(shí)間為4月28日6月28日為其兩個(gè)月的業(yè)余時(shí)間。三、課程設(shè)計(jì)的內(nèi)容學(xué)習(xí)MATLAB GUI程序設(shè)計(jì),利用MATLAB圖像處理工具箱,設(shè)計(jì)和實(shí)現(xiàn)自己的Photoshop 。要求:按照軟件工程方法,根據(jù)需求進(jìn)行程序的功能分析和界面設(shè)計(jì),給出設(shè)計(jì)詳細(xì)說(shuō)明。然后按照自己擬定的功能要求進(jìn)行程序設(shè)計(jì)和調(diào)試。 整個(gè)系統(tǒng)要完成的基本功能大致如下:1、 能對(duì)圖像文件(bmp、 jpg、 tiff、 gif等)進(jìn)行打開(kāi)、保存、另存、打印、退出等功能操作;2、 數(shù)字圖像的統(tǒng)計(jì)信息功能:直方圖的統(tǒng)計(jì)及繪制;3、 數(shù)字圖像的增強(qiáng)處理功能:

4、(1) 直方圖的均衡化(2) 對(duì)比度展寬(3) 動(dòng)態(tài)范圍調(diào)整(4) 空間域平滑算法的各種算法(如均值濾波、中值濾波、邊界保持的濾波方法等) 4、數(shù)字圖像由RGB轉(zhuǎn)換成HIS空間并分別顯示其分量圖。 5、數(shù)字圖像分割功能:可采用兩種以上方法進(jìn)行圖像分割??傮w設(shè)計(jì) 由于要實(shí)現(xiàn)的功能并不是很多,所以在排版的過(guò)程中,把各個(gè)功能都安排在目錄欄上,整體安排如下圖所示: 四、 具體設(shè)計(jì)6.1、 文件6.1.1、打開(kāi)為了讓使用者更方便的使用,所以在設(shè)計(jì)的時(shí)候,通過(guò)對(duì)話(huà)框的形式來(lái)選擇文件,選擇uigetfile函數(shù)來(lái)實(shí)現(xiàn),uigetfile函數(shù)顯示一個(gè)打開(kāi)文件對(duì)話(huà)框,該對(duì)話(huà)框自動(dòng)列出當(dāng)前路徑下的目錄和文件,由于

5、這個(gè)GUI程序的操作對(duì)象是圖像文件。Uigetfile函數(shù)的調(diào)用格式為name,path=yigetfile(), 在按下對(duì)話(huà)框中的執(zhí)行按鈕“打開(kāi)”后,返回選擇的文件名和路徑,分別保存到“ name”和“path”中。如果按下取消按鈕或是發(fā)生錯(cuò)誤,則返回值是0。 根據(jù)返回值的情況,如果是0,則彈出提示錯(cuò)誤的對(duì)話(huà)框,否則,通過(guò)imread函數(shù)讀出圖像數(shù)據(jù),把圖像數(shù)據(jù)賦值給全局變量handles.image。6.1.2、保存同樣也通過(guò)對(duì)話(huà)框的形式來(lái)保存圖像數(shù)據(jù),通過(guò)uigetfile函數(shù)選擇文件名和路徑,用getimage(gca)取出坐標(biāo)2變換后的圖像數(shù)據(jù)保存到變量i,最后用imwrite函數(shù),

6、把數(shù)據(jù)i存到指定的文件。6.1.4、退出退出比較簡(jiǎn)單,程序如下所示:clc;close all;close(gcf); 6.1.3、打印 打印功能沒(méi)能實(shí)現(xiàn),將它設(shè)置為不可使用,可用如下代碼實(shí)現(xiàn) set(handles.print, 'Enable','off' ); %放在open_callback函數(shù)末尾 set(handles.print, 'Enable','off' );%放在two_OpeningFcn中 6.2、 直方圖統(tǒng)計(jì)6.2.1、R直方圖由于RGB圖像是三維圖像,所以圖像數(shù)據(jù)是一個(gè)三維數(shù)組,為了顯示R直方圖像,把

7、三維圖像降為二維,且是當(dāng)最后一個(gè)參數(shù)為1時(shí)是R直方圖:x=imhist(handles.image(:,:,1); %當(dāng)然也可以選擇(:,:,2) 或(:,:,3) imshow(y); 處理前后圖片效果如下:6.2.2、G直方圖 G直方圖與R直方圖的程序差不多只需將數(shù)值為1的R直方圖變成2即可成為G直方圖x=imhist(handles.image(:,:,2); 6.2.3、B直方圖 同理可得B直方圖x=imhist(handles.image(:,:,3);RGB三種直方圖統(tǒng)計(jì)圖如下: 原圖 R直方圖 G直方圖 B直方圖6.3、 圖像增強(qiáng)處理 6.3.1、直方圖均衡化 在balance_

8、Callback回退函數(shù)中實(shí)現(xiàn)直方圖均衡化 每個(gè)回退函數(shù)中都要獲取圖片,上面的RGB直方圖也一樣需獲取打開(kāi)的圖片。打開(kāi)圖片的為以下程序代碼: set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2); 直方圖均衡化是判斷是否為灰度圖。用函數(shù)isrgb了來(lái)判斷,不是灰度則將其轉(zhuǎn)化,否則就直接用函數(shù):histeq(handles.image)% handles.image是獲取的圖片來(lái)直方圖均衡化處理圖片圖片前后效果如下: 6.3.2、 對(duì)比度展寬對(duì)圖像的對(duì)比度展寬刻可自己編寫(xiě)算法來(lái)處理,同樣的,處

9、理結(jié)果如圖: 6.3.3、動(dòng)態(tài)范圍調(diào)整 共圖像處理功能未能實(shí)現(xiàn),程序中已給出處理其圖像的代碼,但有錯(cuò)誤,不能找出其錯(cuò)位,將其正確的處理,原因是:nw=1./(b-a).*(h-a.*ones(sx,sy);Error:Matrix dimensions must agree 也查過(guò)資料修改該語(yǔ)句,有的資料說(shuō)是乘除和冪方要改成點(diǎn)乘點(diǎn)除,點(diǎn)冪方,這個(gè)是合理,但是改正后仍然有錯(cuò),是在無(wú)能為力,代碼在后面將給出,可供參考。 6.3.4、空間域平滑算法 6.3.4.1、均值濾波 經(jīng)常用到的噪聲有兩種,高斯噪聲,椒鹽噪聲,可以通過(guò)以下兩個(gè)函數(shù)來(lái)實(shí)現(xiàn):y=imnoise(handles.img,'g

10、aussian',p1,p2);%高斯噪聲y=imnoise(x,'salt & pepper',p1); %椒鹽噪聲 均值濾波中可對(duì)高斯濾波,也可以對(duì)椒鹽濾波,設(shè)計(jì)過(guò)程中采用其一種圖片進(jìn)行處理。但兩種處理的效果就不同,對(duì)高斯噪聲處理的效果更加明顯均值濾波是一種采取平均灰度值的方法進(jìn)行濾波,用imnoise獲得噪聲的圖片。這個(gè)函數(shù)可獲得高斯噪聲,亦可獲得椒鹽噪聲。在采用函數(shù)conv2進(jìn)行均值處理,處理前后的圖片比較如下: 6.3.4.2、中值濾波 中值濾波同均值濾波的程序差不多,只是進(jìn)行濾波的原理不同,則采用不同的函數(shù)進(jìn)行代替,用以下函數(shù)可進(jìn)行中值濾波處理: I

11、 = imnoise(handles.image,'salt & pepper', 0.02);imshow(I);j=medfilt2(I);前后圖片效果如下: 6.3.4.3、邊界保持濾波 原理不同,采用knn函數(shù)是處理邊界保持濾波的,程序代碼的形式跟前兩種濾波差不多:I = imnoise(handles.image,'salt & pepper', 0.02); imshow(I);j=knn2(I); 前后圖片效果如下: 6.4、 圖像分割: 圖象分割是按照某些特性(如灰度級(jí),頻譜,顏色,紋理等)將圖象劃分成一些區(qū)域,在這些區(qū)域內(nèi)其特性

12、是相同的或者說(shuō)是均勻的,兩個(gè)相鄰區(qū)域彼此特性則是不同的,其間存在著邊緣或邊界 6.4.1、均勻性度量法當(dāng)圖像被分為目標(biāo)物和背景兩個(gè)類(lèi)時(shí),屬于同一類(lèi)別的像素值分布方差最小,也即具有均勻性。給定一初始閾值Th=Th0,將圖像分為C1和C2兩類(lèi) 分別計(jì)算兩類(lèi)中的方差分別計(jì)算兩類(lèi)在圖像中的分布概率選擇最佳閾值 Th=Th*, 將圖像分為C1和C2兩類(lèi),滿(mǎn)足均勻性度量方法的處理結(jié)果: 6.4.2、類(lèi)間最大距離法.采用最佳閾值分割后,兩類(lèi)之間的差異最大,且差異采用兩類(lèi)中心與閾值間的距離差度量給定一初始閾值Th=Th0,將圖像分為C1和C2兩類(lèi) 分別計(jì)算兩類(lèi)的灰度均值計(jì)算相對(duì)距離度量值 s選擇最佳閾值 Th

13、=Th*, 將圖像分為C1和C2兩類(lèi) 圖片效果: 6.4.3、局部閾值法不均勻照射,物體背景對(duì)比明顯, 不能只使用一門(mén)限灰度級(jí)校正。圖象分成小塊,選擇局部門(mén)限局部閾值法的處理前后結(jié)果:6.5、 顏色空間轉(zhuǎn)化 6.5.1、RGB轉(zhuǎn)HSV色彩空間相互轉(zhuǎn)化:其中有很多種色彩空間,這里只介紹兩種轉(zhuǎn)換關(guān)系:RGB轉(zhuǎn)HSV,圖像處理中有專(zhuān)門(mén)的函數(shù)將其進(jìn)行轉(zhuǎn)化,即rgb2hvs函數(shù)轉(zhuǎn)化圖像前后對(duì)比如下: 6.5.2、RGB轉(zhuǎn)HIS 首先獲取圖像的 RGB 3個(gè)通道R=w(:,:,1);G=w(:,:,2);B=w(:,:,3);觀(guān)察HSI通道圖像因系統(tǒng)沒(méi)有rgb2hsi函數(shù),只有rgb2hsv函數(shù),可自己編

14、寫(xiě)程序?qū)崿F(xiàn)算法,用一個(gè)循環(huán)處理,分別得到HIS的色度,飽和度以及強(qiáng)度圖,代碼在后面實(shí)現(xiàn)圖形處理效果如下:6.6、 其他圖像處理功能 6.6.1、銳化 6.6.2、傅里葉這兩個(gè)是附加的圖像處理功能,在次不做過(guò)多的說(shuō)明,可向大家看看處理圖像結(jié)果進(jìn)行對(duì)比一下,看看效果,可在后面附上代碼 銳化.四種傅里葉變 參考文獻(xiàn)【1】 鄭阿奇,曹戈,趙陽(yáng).MATLAB實(shí)用教程M.北京:電子工業(yè)出版社【2】 精通matlab61.5_(北航_張志涌).pdf【3】MATLAB 編程 (第二版) MATLAB Programming for Engineers Second Edition)Stephen J. Ch

15、apman 著 邢樹(shù)軍 鄭碧波 譯【4】相關(guān)的MATLAB圖像處理函數(shù)五、 附錄17function varargout = two(varargin)% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', two_OpeningFcn, . 'gui_OutputFcn', tw

16、o_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT

17、EDIT% - Executes just before erzhi is made visible.function two_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.-%接下來(lái)是菜單的程序-function file_Callback(hObject, eventdata, handles)-%文件打開(kāi)程序function open_Callback(hObject, eventdata, handles) name,path=uige

18、tfile('*.bmp','載入圖像');if isequal(name,0)|isequal(path,0) errordlg('沒(méi)有選中文件','出錯(cuò)'); return;else x=imread(path,name); axes(handles.axes1); imshow(x); handles.img=x; handles.noise_img=x; guidata(hObject,handles)end-function save_Callback(hObject, eventdata, handles)%文件保存

19、filename,pathname = uiputfile('*.bmp','圖片保存為');if isequal(filename,pathname,0,0) errordlg('沒(méi)有保存','出錯(cuò)'); return;elsefile=strcat(pathname,filename);(handles.axes2);i=getimage(gca);imwrite(i,file);end-function exit_Callback(hObject, eventdata, handles)clc;close all;close

20、(gcf);-% 直方圖-function zhf_Callback(hObject, eventdata, handles)-function red_Callback(hObject, eventdata, handles)% R直方圖data (see GUIDATA)set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.image(:,:,1);x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles

21、.axes2,'xtick',0:50:255); -function green_Callback(hObject, eventdata, handles)% G直方圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.image(:,:,2); x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255); -function

22、blue_Callback(hObject, eventdata, handles)% B直方圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);%if isrgb(handles.img)x=imhist(handles.image(:,:,3); x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);-%圖像增強(qiáng)處理-function zhf_Callback(hOb

23、ject, eventdata, handles)-function balance_Callback(hObject, eventdata, handles)%直方圖均衡化set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.image) a=histeq(handles.image(:,:,1); b=histeq(handles.image(:,:,2); c=histeq(handles.image(:,:,3); k(:,:,1)=a; k(:,:

24、,2)=b; k(:,:,3)=c; imshow(k);else h=histeq(handles.image); imshow(h);endfunction zq_Callback(hObject, eventdata, handles) -function duibidu_Callback(hObject, eventdata, handles)%對(duì)比度展寬set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);h=im2double(handles.image);sx,sy=size(

25、h);nw=h.0.3;subplot(2,2,1);imshow(h); title('original');subplot(2,2,2);imshow(nw);title('r=0.4');subplot(2,2,3);imshow(h.0.5);title('r=0.7');subplot(2,2,4);imshow(h.2);title('r=3');-function dongtai_Callback(hObject, eventdata, handles)%動(dòng)態(tài)調(diào)整范圍set(handles.axes2,'Ha

26、ndleVisibility','ON');axes(handles.axes2);h=im2double(handles.image);a=0.01;b=0.35;sx,sy=size(h);w,n=find(h(:)<=a);h(n)=0;w1,n1=find(h(:)>b);h(n1)=1;nw=1./(b-a).*(h-a.*ones(sx,sy);subplot(1,2,1);imshow(h);subplot(1,2,2);imshow(nw);-%空間域平滑算法function pinghua_Callback(hObject, eventda

27、ta, handles)-function junzhi_Callback(hObject, eventdata, handles)%均值濾波h=1 1 1;1 1 1;1 1 1;h=h/9;set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imnoise(handles.image,'gaussian',0,0.02);imshow(x);j=conv2(x,h);figure,imshow(j,); -function zhongzhi_Callback(hOb

28、ject, eventdata, handles)%中值濾波set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);% I=imnoise(I,'gaussian',0,0.02);I = imnoise(handles.image,'salt & pepper', 0.02);% j=medfilt2(I);figure,imshow(j,);-function bianjie_Callback(hObject, eventdata, handles)

29、% 邊界保持濾波set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);% I=imnoise(I,'gaussian',0,0.02);I = imnoise(handles.image,'salt & pepper', 0.02); imshow(I);j=knn2(I);figure,imshow(j,);-function junyunxing_Callback(hObject, eventdata, handles)%均與性度量法set(han

30、dles.axes2,'HandleVisibility','ON');axes(handles.axes2);v=double(handles.image);sx,sy=size(v);num=sx*sy;t=;for th=6:254r1,c1=find(v(:)>=th);r2,c2=find(v(:)<th);if(length(r1)=0 & length(c1)=0 )L1=v(r1); else L1=;endif(length(r2)=0 & length(c2)=0 )L2=v(r2);else L2=;endm1=

31、mean(L1(:); m2=mean(L2(:);Var1=sum(L1(:)-m1).2);Var2=sum(L2(:)-m2).2);Var1=var(L1(:);Var2=var(L2(:);P1=length(L1(:)/num;P2=length(L2(:)/num;t=t,P1*Var1+P2*Var2;endc,l=min(t); B=v;r1,c1=find(v(:)>=l+5);r2,c2=find(v(:)<l+5);B(r1)=255; B(r2)=0;imshow(uint8(B);% -function jubuyuzhi_Callback(hObjec

32、t, eventdata, handles) %局部閾值法set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);v=rgb2gray(handles.image);imshow(v); R=zeros(size(v);H = FSPECIAL('gaussian',9,2.4);v = imfilter(v,H); t=graythresh(v); t=t*255;c,l=find( v(:)>t);R(c)=1;x,y=size(R); q=R;for i=10:x-

33、10 for j=10:y-10 if R(i,j)=0 t=R(i-1,j-1),R(i-1,j),R(i-1,j+1),R(i,j-1),R(i,j+1),R(i+1,j-1),R(i+1,j),R(i+1,j+1); if sum(t)=0 q(i,j)=1; end end endendfigure, imshow(q,);-function leijianzuidajuli_Callback(hObject, eventdata, handles) %類(lèi)間最大法set(handles.axes2,'HandleVisibility','ON');axe

34、s(handles.axes2);X=rgb2gray(handles.image);r,c=size(X);figure (1)subplot(1,2,1)imshow(X)R=zeros(1,256);for i=50:150 Xi0=X0<=i; N0=sum(sum(Xi0); Xm0=X0(Xi0); u0=sum(Xm0)/N0; Xi1=X0>i; N1=sum(sum(Xi1); Xm1=X0(Xi1); u1=sum(Xm1)/N1; R(i+1)=(u1-i)*(i-u0)/(u1-u0)2);endTh=find(R=max(R(51:151)-1X2=zer

35、os(r,c);for i=1:r for j=1:c X2(i,j)=X0(i,j)>Th; endendsubplot(2,2,2)imshow(X2)-%顏色空間轉(zhuǎn)化-function hsv_Callback(hObject, eventdata, handles)%RGB轉(zhuǎn)HSVset(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);hv=rgb2hsv(handles.image); subplot(2,2,1);imshow(hv); title('RGBHSV&#

36、39;);%RGB=reshape(ones(64,1)*reshape(jet(64),1,192),64,64,3); H=hv(:,:,1); S=hv(:,:,2); V=hv(:,:,3); subplot(2,2,2);imshow(H) ; title('§§');subplot(2,2,3);imshow(S); title('§§');subplot(2,2,4);imshow(V);title('§§');-function HIS_Callback(hObject,

37、 eventdata, handles)%RGB轉(zhuǎn)HSIset(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);W=im2double(handles.image);%獲得double型的圖形矩陣m,n,q=size(W);R=W(:,:,1);G=W(:,:,2);B=W(:,:,3);% 改變通道來(lái)觀(guān)察圖像H=zeros(m,n);S=H;for i1=1:m for i2=1:n numerator=0.5*(R(i1,i2)-G(i1,i2)+R(i1,i2)-B(i1,i2); denominator=sqrt(R(i1,i2)-G(i1,i2)2+(R(i1,i2)-B(i1,i2)*(G(i1,i2)-B(i1,i2); theta=acos(numerator/denominator)*180/pi; if(B(i1,i2)<=G(i1,i2) H(i1,i2)=theta; else H(i1,i2)=360-theta; end mi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論