基于MATLAB的圖像處理的課程設計車牌識別系統匯編_第1頁
基于MATLAB的圖像處理的課程設計車牌識別系統匯編_第2頁
基于MATLAB的圖像處理的課程設計車牌識別系統匯編_第3頁
基于MATLAB的圖像處理的課程設計車牌識別系統匯編_第4頁
基于MATLAB的圖像處理的課程設計車牌識別系統匯編_第5頁
已閱讀5頁,還剩14頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 目錄一、 課程設計目的.3二、 課程設計要求.3三、 課程設計的內容.3四、 題目分析.3五、 總體設計.4六、 具體設計.51、文件.51.1、打開.51.2、保存.51.3、退出.52、編輯.56.2.1、灰度.56.2.2、亮度.66.2.3、截圖.76.2.4、縮放.73、旋轉.96.3.1、上下翻轉.96.3.2、左右翻轉.96.3.3任意角度翻轉.96.4、噪聲.106.5、濾波.106.6、直方圖統計116.7、頻譜分析.126.7.1、頻譜圖 .126.7.2、通過高通濾波器 .126.7.3、通過低通濾波器. .136.8、灰度圖像處理 . .146.8.1、二值圖像. .

2、146.8.2、創建索引圖像 .146.9、顏色模型轉換. .146.10、操作界面設計.15七、 程序調試及結果分析.15八、 心得體會.16九、 參考文獻.17十、 附錄.18基于MATLAB的圖像處理的課程設計摘要: 數字圖像處理技術是20世紀60年代發展起來的一門新興學科,隨著圖像處理理論和方法的進一步完善,使得數字圖像處理技術在各個領域得到了廣泛應用,并顯示出廣闊的應用前景。MATLAB既是一種直觀、高效的計算機語言,同時又是一個科學計算平臺。它為數據分析和數據可視化、算法和應用程序開發提供了最核心的數學和高級圖形工具。根據它提供的500多個數學和工程函數,工程技術人員和科學工作者可

3、以在它的集成環境中交互或編程以完成各自的計算。MATLAB中集成了功能強大的圖像處理工具箱。由于MATLAB語言的語法特征與C語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式,而且這種語言可移植性好、可擴展性強,再加上其中有豐富的圖像處理函數,所以MATLAB在圖像處理的應用中具有很大的優勢。本文從預處理、邊緣檢測、車牌定位、字符分割、字符識別五個方面,具體介紹了車牌自動識別的原理。并用MATLAB軟件編程來實現每一個部分,最后識別出汽車牌照。關鍵詞:MATLAB,數字圖像處理,車牌識別系統一、課程設計目的Matlab技術課程設計是利用Matlab應用軟件的基礎知識和基本程序

4、設計方法,解決選修專業課程中數字信號處理的實際應用問題,從而加深對理論知識的掌握,并把所學的知識系統、高效的貫穿到實踐中來,避免理論與實踐的脫離。同時提高獨立編程水平,并在實踐中不斷完善理論基礎,有助于培養綜合能力。二、課程設計的內容學習MATLAB程序設計,利用MATLAB圖像處理工具箱,設計和實現通過設計一個車牌識別系統三、課程設計的要求:按照軟件工程方法,根據需求進行程序的功能分析和界面設計,給出設計詳細說明。然后按照自己擬定的功能要求進行程序設計和調試。 以下幾點是程序必須實現的功能。1)設計圖像用戶界面,讓用戶能夠對圖像進行調整,顯示和對比變換前后的圖像。2)圖像直方圖統計和直方圖均

5、衡,要求顯示直方圖統計,比較直方圖均衡后的效果。3)顯示識別結果四、題目分析(一)研究背景:隨著我國經濟的發展,綜合實力的增強和城市化進程的加快,國內各大城市交通管理能力將面臨重大考驗。近年來,各主要城市都將城市智能交通系統(ITS)的建設作為改善城市交通狀況的重點,以緩解城市交通管理的壓力,車牌識別系統作為智能交通系統的主要技術之一也得到了很大的發展。 (二)現狀目前,國內的ITS 產業仍然處于起步階段,在產業鏈中,電子地圖商、導航終端商、嵌入式操作系統均已經具備產業規模,而所欠缺的環節則是對實時交通信息的采集和處理系統。車牌識別系統是城市智能交通管理系統的一個重要組成部分,廣泛用于是針對公

6、路行駛的機動車輛進行實時監控的智能化交通系統,電子收費,交通違規管理,安全停車管理等重要領域。五、總體設計車牌識是一輛汽車獨一無二的信息,因此,對車輛牌照的識別技術可以作為辨識一樣車最為有效地方法。車牌識別系統包括攝取的汽車圖像,車牌號碼的識別,車牌圖像的采集和預處理,牌照區域的定位和提取,牌照字符的分割和識別等幾個部分組成,如下圖所示。字符分割歸一化輸出結果字符識別車牌定位預處理輸入圖像 圖1 車牌識別系統流程圖六、具體設計界面效果圖(1)灰度校正由于牌照圖象在拍攝時受到種種條件的限制和干擾,圖象的灰度值往往與實際景物不完全匹配,這將直接影響到圖象的后續處理。如果造成這種影響的原因主要是由于

7、被攝物體的遠近不同,使得圖象中央區域和邊緣區域的灰度失衡,或是由于攝像頭在掃描時各點的靈敏度有較大的差異而產生圖象灰度失真,或是由于曝光不足而使得圖像的灰度變化范圍很窄。這時就可以采用灰度校正的方法來處理,增強灰度的變化范圍、豐富灰度層次,以達到增強圖象的對比度和分辨率。我們發現車輛牌照圖象的灰度取值范圍大多局限在r=(50,200)間,而且總體上灰度偏低,圖象較暗圖6 灰度增強后的圖像(2)平滑處理對于受噪聲干擾嚴重的圖象,由于噪聲點多在頻域中映射為高頻分量,因此可以在通過低通濾波器來濾除噪聲,但實際中為了簡化算法,也可以直接在空域中用求鄰域平均值的方法來削弱噪聲的影響,這種方法稱為圖象平滑

8、處理。例如,某一象素點的鄰域S 有兩種表示方法:8鄰域和4鄰域分別對應的鄰域平均值為,。其中,M 為鄰域中除中心象素點f(i,j) 之外包括的其它象素總數,對于4鄰M=4,8 鄰域M=8。然而,鄰域平均值的平滑處理會使得圖象灰度急劇變化的地方,尤其是物體邊緣區域和字符輪廓等部分產生模糊作用。為了克服這種平均化引起的圖象模糊現象,我們給中心點象素值與其鄰域平均值的差值設置一固定的閾值,只有大于該閾值的點才能替換為鄰域平均值,而差值不大于閾值時,仍保留原來的值,從而減少由于平均化引起的圖象模糊。邊緣提取是較經典的算法,此處邊緣的提取采用的是Roberts算子。綜上所述,結合MATLAB實驗過程,得

9、出不是每一種圖像處理之初都適合濾波和邊界增強。本次汽車車牌的識別,為了保存更多的有用信息,經過多次比較,選擇圖9作為后期處理的依據。(6)操作界面設計為了使整個操作界面更加的美觀,對背景顏色和字體顏色進行設置。二、程序調試及結果分析在程序設計過程中,碰到很多的問題。a) 一個函數只能對灰度圖像處理,不能對RGB圖像處理,那么如何才能對RGB圖像處理呢?這主要是對MATLAB函數的不夠清楚,用到的很多函數是針對二維數據的,而RGB圖像的數據是一個三維矩陣,所以處理要與灰度圖像不同,在開始的時候,我認為應該找一個能夠應用于三維矩陣的函數,結果卻沒找到,后來想到可以把三維數據進行降維處理,同樣使用二

10、維的函數,只要是同樣處理三次。比如,彩色圖像的濾波處理,直方圖均衡等。b) 同一個操作對灰度圖像可以使用,當用戶選擇的是彩色圖像時,該操作就會出錯?這是由于設計程序時,本身程序是有針對性的,有些程序只能對灰度圖像有效,有些對彩色圖像有效,但是用戶并不清楚這些,所以在設計的過程中就要考慮全面,要分開設計。在本次課程設計中,我均對每個程序的開始時,用if isrgb(x)進行判斷。c) 在沒有加入噪聲的情況下,點擊“中值濾波”或是其它濾波,會提示錯誤?這是由于在濾波程序設計的過程中,開始用到的變量是handles.noise_img,而這個變量是在加入噪聲時候才定義的,所以在沒有加入噪聲的情況下,

11、點擊各個濾波就會彈出變量沒有定義的錯誤,解決方法就是在文件打開的時候就給定義handles.noise_img=x。d) 本次設計存在一個比較大的問題,就是每次操作都是獨立的,比如:要對圖像加入噪聲,然后在此基礎上進行亮度調整,截圖,頻譜分析等等就不行。我認為應該是整個程序設計過程中對變量的設置沒有做好,應該每次操作后,把處理后的數據保存在一個全局變量,這樣還要對處理后的數據進行在處理時,只要把這個全局變量作為原始數據帶入就可。三, 心得體會1、在這次課程設計過程中,感觸很深,由于對MATLAB圖像處理的函數不熟悉,導致自己走了很多的彎路,比如在設計圖像左轉90度和右轉90度時,由于開始并不知

12、道imrotate函數,只知道上下翻轉flipud和左右翻轉fliplr函數,想著要怎么用這兩個函數來實現左轉和右轉呢,如果當當只用矩陣轉置的話,并不能達到要求,后來想可以結合flipud和fliplr函數來實現,下面程序是實現左轉90度:axes(handles.axes2);x=(handles.img);if isrgb(handles.img) a=x(:,:,1);b=x(:,:,2);c=x(:,:,3);e=a'g=b'f=c'y(:,:,1)=e;y(:,:,2)=g;y(:,:,3)=f;axes(handles.axes2);for k=1:3 f(

13、:,:,k)=flipud(y(:,:,k); endimshow(f); else m=x' y=flipud(m); imshow(y);end同理,也可以通過轉置和fliplr函數實現右轉90度。 但是后來發現其實只要用imrotate函數就可以解決問題。通過這次經歷后,后來在設計其它程序時,盡量找MATLAB自帶的現成函數,而不是一碰到問題就自己想算法,這樣可以節省較多的時間。2、在理工科的專業應用背景下,用matlab 進行相關計算與仿真編程的優勢非常突出。特定的問題處理算法,我們通常都以M文件的文本形式給定最終的解決方案,自己設計的程序是在MATLAB環境下,用MATLAB

14、語言編寫的,這對于有安裝MATLAB軟件的計算機上運行并不存在什么問題,關鍵是一般的計算機很少有去安裝MATLAB軟件的,那么要在這些機子上運行該程序要怎么辦呢,難道要先安裝MATLAB軟件,這顯然太麻煩了,對于一個通用的,比較成熟的解決方案,我們當然期望它能應用到更多的場合,而.exe (可執行)文件可運行于所有的通用WINDOWS操作系統,為此,將M文件轉換成.exe文件倒是個不錯的想法。通過查找資料,了解到在生成可執行性文件之前,需要進行一系列編譯環境方面的配置:要將用Matlab語言編寫的函數文件編譯成可獨立執行的*.exe文件(即可脫離Matalab環境的執行程序),首先要安裝和配置

15、好Matlab Compiler,一般來說,在安裝Matlab時就已經安裝了相應版本的Matlab Compiler。只是不同版本的Matlab,其編譯器的使用方法有一定的差異,這一點要引起一定的注意。在確定安裝好Matlab Compiler后,還需要對Compiler進行適當的配置,方法是在Matlab命令窗口輸入:Mbuild setup然后根據提示執行相應的操作,使用者可根據自己計算機中現有編譯器的情況選擇合適的編譯器,如VC+ 6.0、VC+7.0、Bland C的編譯器等,目前Matlab好象還不支持VC+8.0(我計算機安裝的就是VC+2005,Matlab就無法識別)。當然,如

16、果你的計算機里根本就沒有安裝其他任何語言的編譯器,也可選擇Matlab自帶的Lcc編譯器,其實這個編譯器對大多數用戶已經夠用了(我就是選擇的Matlab自帶的Lcc編譯器)。配置好編譯器后,自然就是對自己編寫的M文件進行編譯了。將M文件編譯為獨立可執行文件的語法是:>>mcc m fun1.m fun2.m.其中fun1就是最后的可執行文件的名稱。3、通過本次課程設計,使自己對MATLAB GUI設計流程有了比較深刻的體會,同時也了解了一般軟件設計的過程。在設計過程中碰到了很多的問題,通過這些問題,使自己分析問題,解決問題的能力得到了較大的提高。四, 參考文獻【1】 鄭阿奇,曹戈,

17、趙陽.MATLAB實用教程M.北京:電子工業出版社【2】 程衛國,馮峰,姚東,徐聽.MATLAB5.3應用指南M.北京:人民郵電出版社【3】 陳楊.MATLAB 6.X圖像編程與圖像處理M.西安:西安電子科技大學出版社五, 附錄function varargout = two(varargin)% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, .

18、 'gui_OpeningFcn', two_OpeningFcn, . 'gui_OutputFcn', two_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

19、gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before erzhi is made visible.function two_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.-%接下來是菜單的程序-function file_Callback(hObject, eventdata, handles)-%

20、文件打開程序function open_Callback(hObject, eventdata, handles) name,path=uigetfile('*.bmp','載入圖像');if isequal(name,0)|isequal(path,0) errordlg('沒有選中文件','出錯'); return;else x=imread(path,name); axes(handles.axes1); imshow(x); handles.img=x; handles.noise_img=x; guidata(hObje

21、ct,handles)end-function save_Callback(hObject, eventdata, handles)%文件保存 filename,pathname = uiputfile('*.bmp','圖片保存為');if isequal(filename,pathname,0,0) errordlg('沒有保存','出錯'); return;elsefile=strcat(pathname,filename);(handles.axes2);i=getimage(gca);imwrite(i,file);en

22、d-function exit_Callback(hObject, eventdata, handles)clc;close all;close(gcf);-%編輯菜單的程序-function edit_Callback(hObject, eventdata, handles)-function huidu_Callback(hObject, eventdata, handles)%灰度處理axes(handles.axes2);if isrgb(handles.img) y=rgb2gray(handles.img); %RGBimshow(y);else msgbox('這已經是灰

23、度圖像','轉換失敗');end -function liangdu_Callback(hObject, eventdata, handles)%亮度處理 prompt='輸入參數1','輸入參數2','輸入gamma' defans='0 0.7','0 1','1' p=inputdlg(prompt,'輸入參數',1,defans); p1=str2num(p1); p2=str2num(p2); p3=str2num(p3); gamma=p3; x=

24、(handles.img); y=imadjust(x,p1,p2,gamma); axes(handles.axes2); imshow(y);-function jietu_Callback(hObject, eventdata, handles)%截圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);y=imcrop(handles.img);imshow(y); handles.Timage=y;-function fangda_Callback(hObject, eventda

25、ta, handles)-function lingjz_Callback(hObject, eventdata, handles)%鄰近插值放大axes(handles.axes2);prompt='輸入放大倍數:'defans='2'p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p1);y=imresize(handles.img,p1,'nearest'); %最近鄰插值法放大imshow(y);-function shuangxianfa_Callback(hObject,

26、 eventdata, handles)%雙線放大axes(handles.axes2);prompt='輸入放大倍數:'defans='2'p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p1);y=imresize(handles.img,p1,'bilinear'); %最近鄰插值法放大imshow(y); -function shuangsanci_Callback(hObject, eventdata, handles)%雙三次放大axes(handles.axes2);p

27、rompt='輸入放大倍數:'defans='2'p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p1);y=imresize(handles.img,p1,'bicubic'); imshow(y);-function suoxiao_Callback(hObject, eventdata, handles)%鄰近插值縮小 axes(handles.axes2); prompt='輸入放大倍數:' defans='0.2' p=inputdlg(pr

28、ompt,'輸入放大倍數',1,defans);p1=str2num(p1);y=imresize(handles.img,p1,'nearest'); %最近鄰插值法縮小 imshow(y);-function shuangxian_Callback(hObject, eventdata, handles)%雙線性縮小axes(handles.axes2);prompt='輸入放大倍數:'defans='0.2'p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p1)

29、;y=imresize(handles.img,p1,'bilinear'); %最近鄰插值法縮小imshow(y); -function shuangsancisuox_Callback(hObject, eventdata, handles)%雙三次縮小axes(handles.axes2);prompt='輸入放大倍數:'defans='0.2'p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p1);y=imresize(handles.img,p1,'bicubic&

30、#39;); imshow(y); -function xuanzhuan_Callback(hObject, eventdata, handles)-function updown_Callback(hObject, eventdata, handles)%上下翻轉axes(handles.axes2);x=(handles.img);if isrgb(handles.img) for k=1:3 y(:,:,k)=flipud(x(:,:,k);%上下翻轉函數endimshow(y);else x=(handles.img); y=flipud(x); imshow(y);end-func

31、tion leftright_Callback(hObject, eventdata, handles)%左右翻轉axes(handles.axes2);if isrgb(handles.img) x=(handles.img);for k=1:3 y(:,:,k)=fliplr(x(:,:,k);%左右翻轉函數endimshow(y);else x=(handles.img); y=fliplr(x); imshow(y);end-function zeft90_Callback(hObject, eventdata, handles)%左轉90度axes(handles.axes2);x=

32、(handles.img);y=imrotate(x,90); imshow(y);-function right90_Callback(hObject, eventdata, handles)%右轉90度axes(handles.axes2);x=(handles.img);y=imrotate(x,-90); imshow(y);-function other_Callback(hObject, eventdata, handles)%任意角度旋轉axes(handles.axes2);prompt='輸入參數1:'defans='30'p=inputdlg

33、(prompt,'輸入參數',1,defans);p1=str2num(p1);y=imrotate(handles.img,p1); imshow(y);-function gs_Callback(hObject, eventdata, handles)%加入高斯噪聲 axes(handles.axes2); prompt='輸入參數1:','輸入參數2' defans='0','0.02' p=inputdlg(prompt,'輸入參數',1,defans); p1=str2num(p1); p

34、2=str2num(p2); y=imnoise(handles.img,'gaussian',p1,p2);imshow(y);handles.noise_img=y; guidata(hObject,handles);-function jy_Callback(hObject, eventdata, handles)%加入椒鹽噪聲prompt='輸入參數1:' %對話框的設置,用戶輸入的是字符串defans='0.02' %缺省值p=inputdlg(prompt,'輸入參數',1,defans); p1=str2num(p1

35、); %字符串轉化為數值axes(handles.axes2);x=(handles.img);y=imnoise(x,'salt & pepper',p1); imshow(y);handles.noise_img=y;guidata(hObject,handles);-function cx_Callback(hObject, eventdata, handles)%加入乘性噪聲 axes(handles.axes2);prompt='輸入參數1:'defans='0.02'p=inputdlg(prompt,'輸入參數

36、9;,1,defans);p1=str2num(p1);y=imnoise(handles.img,'speckle',p1);imshow(y); handles.noise_img=y;guidata(hObject,handles);-function zhifangtutongji_Callback(hObject, eventdata, handles)-function red_Callback(hObject, eventdata, handles)%R直方圖set(handles.axes2,'HandleVisibility','ON&

37、#39;);axes(handles.axes2);x=imhist(handles.img(:,:,1); %直方圖統計x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);-function gray_Callback(hObject, eventdata, handles)%G直方圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.

38、img) x=imhist(handles.img(:,:,2); %直方圖統計x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);else msgbox('這是灰度圖像','旋轉失敗');end-function blue_Callback(hObject, eventdata, handles)%B直方圖set(handles.axes2,'HandleVisibility','ON');axes(handl

39、es.axes2);if isrgb(handles.img) x=imhist(handles.img(:,:,3); %直方圖統計x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis(0 255 0 150000);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);else msgbox('這是灰度圖像','旋轉失敗');end-function junheng_Callback(h

40、Object, eventdata, handles)%直方圖均衡set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img) a=histeq(handles.img(:,:,1); b=histeq(handles.img(:,:,2); c=histeq(handles.img(:,:,3); k(:,:,1)=a; k(:,:,2)=b; k(:,:,3)=c; imshow(k);elseh=histeq(handles.img); %直方圖均衡

41、imshow(h);end-%頻譜分析-function pinpu_Callback(hObject, eventdata, handles)-function pinputu_Callback(hObject, eventdata, handles)%顯示頻譜圖axes(handles.axes2);x=(handles.img);if isrgb(x) m=fft2(x(:,:,1); y=fftshift(m); imshow(log(abs(y),);else m=fft2(x); y=fftshift(m); imshow(log(abs(y),);end-function fre

42、quency_Callback(hObject, eventdata, handles)%低通濾波器axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox('這是彩色圖像,不能通過低通濾波器','失敗');elsey1=imnoise(x,'salt & pepper'); % 疊加椒鹽噪聲f=double(y1); % 數據類型轉換,MATLAB不支持圖像的無符號整型的計算g=fft2(f); % 傅立葉變換g=fftshift(g); % 轉換數據矩陣M,N=size(g);nn=

43、2; % 二階巴特沃斯(Butterworth)低通濾波器d0=10; %截止頻率為10m=fix(M/2); n=fix(N/2);for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); h=1/(1+0.414*(d/d0)(2*nn); % 計算低通濾波器傳遞函數 result(i,j)=h*g(i,j); endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2);imshow(y3); % 顯示濾波處理后的圖像end-function gaotong_Callback(hObject,

44、 eventdata, handles)%高通濾波器axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox('這是彩色圖像,不能通過高通濾波器','失敗');elsey1=imnoise(x,'gaussian'); %加高斯噪聲f=double(y1); % 數據類型轉換k=fft2(f); % 傅立葉變換g=fftshift(k); % 轉換數據矩陣M,N=size(g);nn=2;d0=3; %截止頻率為3m=fix(M/2); n=fix(N/2);for i=1:M for j=1:

45、N d=sqrt(i-m)2+(j-n)2); % 計算高通濾波器傳遞函數 if d<=d0 h=0; else h=1; end result(i,j)=h*g(i,j); endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2);imshow(y3); end-%接下來這段程序是灰度圖像處理程序-function huiduchuli_Callback(hObject, eventdata, handles)-function erzhituxiang_Callback(hObject, eventdata, handles)%二值圖像axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox('這是彩色圖像,不能轉換為二值圖像','轉換失敗');elsej=im2bw(x);imshow(j);end-function tuxiangfushi_Callback(hObject, eventdata, handl

溫馨提示

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

評論

0/150

提交評論