工業(yè)機(jī)器視覺技術(shù)及應(yīng)用課件:機(jī)器視覺應(yīng)用案例_第1頁(yè)
工業(yè)機(jī)器視覺技術(shù)及應(yīng)用課件:機(jī)器視覺應(yīng)用案例_第2頁(yè)
工業(yè)機(jī)器視覺技術(shù)及應(yīng)用課件:機(jī)器視覺應(yīng)用案例_第3頁(yè)
工業(yè)機(jī)器視覺技術(shù)及應(yīng)用課件:機(jī)器視覺應(yīng)用案例_第4頁(yè)
工業(yè)機(jī)器視覺技術(shù)及應(yīng)用課件:機(jī)器視覺應(yīng)用案例_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

機(jī)器視覺應(yīng)用案例8.1基礎(chǔ)知識(shí)儲(chǔ)備8.2機(jī)器視覺應(yīng)用

8.1基礎(chǔ)知識(shí)儲(chǔ)備

8.1.1獲取相機(jī)參數(shù)和信息

1.獲取相機(jī)輸出參數(shù)打開halconHDevelop軟件,選擇菜單“助手”中的“打開新的ImageAcquisition”選項(xiàng)。在“資源”框中,選擇“圖像獲取接口”,單擊“檢測(cè)”按鈕即可得到相機(jī)輸出接口,如GigEVision(如圖8-1所示)。在“連接”框中,選擇“連接”和“檢測(cè)”,并在“代碼生成”框下,單擊“插入代碼”按鈕即可獲得相機(jī)參數(shù)和代碼。圖8-1

Halcon獲取相機(jī)輸出接口界面

2.查看相機(jī)實(shí)時(shí)輸出結(jié)果

選擇“連接”選項(xiàng),單擊“連接”和“實(shí)時(shí)”按鈕,在“圖形窗口”中即可觀測(cè)到實(shí)時(shí)輸出的圖像,如圖8-2所示。

圖8-2連接相機(jī)界面

8.1.2相機(jī)標(biāo)定

Halcon提供了自制標(biāo)定板和自帶標(biāo)定兩種標(biāo)定方法。

1.自制標(biāo)定板

一般選用標(biāo)定板尺寸為?30?mm?×?30?mm,將標(biāo)定板放置在鏡頭視野內(nèi)來(lái)實(shí)現(xiàn)標(biāo)定。Halcon提供了制作標(biāo)定板的程序,制作標(biāo)定板算子如下所示:

gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile:)

2.自帶標(biāo)定

在Halcon中,選擇菜單“助手”中的“打開新的Callibration”選項(xiàng),彈出如圖8-3所示的窗口。

(1)選擇模板。在“安裝”選項(xiàng)中,“描述文件”選為“caltab_30mm.descr”,該文件在安裝目錄MVTec/HALCON-11.0/calib/caltab_30mm.descr下,如圖8-3所示。

圖8-3相機(jī)標(biāo)定

(2)加載標(biāo)定板圖像。在“標(biāo)定”選項(xiàng)中,選擇“圖像文件”并加載,圖像文件在Halcon安裝路徑“MVTec\HALCON-11.0\examples\images\scratch”中,或者選擇“圖像采集助手”,將標(biāo)定板放在相機(jī)視野范圍內(nèi),單擊“采集”按鈕即可,如圖8-4所示。

圖8-4加載標(biāo)定板圖像

(3)濾除低品質(zhì)圖像。在“標(biāo)定”選項(xiàng)中,加載好圖像后,點(diǎn)擊“設(shè)為參考位姿”按鈕,并將“警告級(jí)別”設(shè)置為70,檢測(cè)出品質(zhì)問題的所有圖片,點(diǎn)擊“標(biāo)定”按鈕完成標(biāo)定,如圖8-5所示。

圖8-5濾除低品質(zhì)圖像

(4)生成代碼。在“代碼生成”選項(xiàng)下,設(shè)置“生成的模式”為“標(biāo)定數(shù)據(jù)(Tuple)”,點(diǎn)擊“插入代碼”按鈕,標(biāo)定代碼則插入到了“程序編輯器”中,如圖8-6所示。

圖8-6生成代碼

程序解釋:語(yǔ)句1、2讀取系統(tǒng)中圖像?‘pioneer’,命名為Image,并顯示圖像;語(yǔ)句3表示程序暫停一下;語(yǔ)句4將rgb圖像轉(zhuǎn)換為灰度圖像;語(yǔ)句5、6、7為標(biāo)定參數(shù);語(yǔ)句8產(chǎn)生徑向畸變映射圖,MapFixed是輸出,CamParOriginal為標(biāo)定后的參數(shù),CamParVirtualFixed是輸出的參數(shù),‘bilinear’

為映射類型;語(yǔ)句9利用映射消除圖像畸變算子。

在運(yùn)行Halcon程序后,可消除圖像畸變。

8.2機(jī)器視覺應(yīng)用

8.2.1

二維碼識(shí)別

從軟件功能上看,軟件主要分為主程序部分、相機(jī)基本功能算法實(shí)現(xiàn)部分和視覺算法處理部分三部分。主程序部分主要包括各類控件函數(shù)、子函數(shù)、初始化函數(shù)等。相機(jī)基本功能算法實(shí)現(xiàn)部分包括相機(jī)的打開、采集數(shù)據(jù)、傳輸數(shù)據(jù)等;視覺算法處理部分包括二維碼的識(shí)別及顯示功能等。

軟件設(shè)計(jì)包括軟件界面設(shè)計(jì)和軟件程序設(shè)計(jì)。

1.軟件界面設(shè)計(jì)

根據(jù)需求,增加控件,設(shè)置控制屬性,以設(shè)計(jì)友好的人機(jī)界面。本應(yīng)用中,為了規(guī)范命名,特規(guī)定控件命名規(guī)則為:

XPU_控件縮寫_控件含義

(1)添加7個(gè)菜單項(xiàng)控件類型(MenuStrip),用于引導(dǎo)用戶執(zhí)行相應(yīng)的操作。

控件屬性:Name(XPU_TSM_LinkCamera)、Text(相機(jī)連接)。

控件屬性:Name(XPU_TSM_OneShot)、Text(單幅采集)。

控件屬性:Name(XPU_TSM_ContinuousShot)、Text(連續(xù)采集)。

控件屬性:Name(XPU_TSM_Stop)、Text(停止采集)。

控件屬性:Name(XPU_TSM_ContinuousShot)、Text(連續(xù)采集)。

控件屬性:Name(XPU_TSM_OpenImage)、Text(打開圖像)。

控件屬性:Name(XPU_TSM_SaveImage)、Text(保存圖像)。

(2)添加2個(gè)列表控件類型(ListView):用于按照列表顯示格式化后的數(shù)據(jù),可增加軟件界面的美觀性。一個(gè)列表控件用于顯示相機(jī)參數(shù);另一列表控件顯示輸入輸出的消息。

顯示相機(jī)控件屬性為:Name(XPU_LV_DeviceListView)、View(Tile)、HeaderStyle(Clickable)、Dock(Top)。

顯示輸入輸出控件屬性為:Name(XPU_LV_ListViewMessage)、View(Details)、HeaderStyle(NonClickable)、Dock(Fill)、集合(Name(ColumHeader)、Text(詳細(xì))(ListViewDevice)。

(3)添加HWindowControl控件:從“工具箱”中找到HWindowControl控件拖入窗體即可。HWindowControl控件屬性:Name(XPU_hWindowControl)、Dock(Fill)。

2.軟件程序設(shè)計(jì)

軟件程序設(shè)計(jì)主要包括各類庫(kù)的包含、主程序、相機(jī)程序、二維碼識(shí)別程序等模塊。在程序設(shè)計(jì)時(shí),建議相機(jī)參數(shù)設(shè)置Gain(Raw)為0,ExposureTime(Raw)為35

000,Width為2592,Height為1944。

1)連接相機(jī)

第一步,界面設(shè)計(jì)。在原有基礎(chǔ)上增加控件類型并設(shè)置屬性。增加窗體控件、HWindowControl控件、ListView控件、Timer控件各一個(gè)。

窗體控件屬性:Size(1139,768)、Text(西安工程大學(xué)機(jī)器人與智能裝備技術(shù)研究所)。

HWindowControl控件屬性為:Name(XPU_hWindowControl)、Size(854,649)、ImagePart

(0,0,2592,1944)。寬與高之比必須為4∶3,否則無(wú)法得到理想的效果。

按鈕屬性:Name(XPU_TSM_LinkCamer)、Text(相機(jī)連接)。

ListView控件屬性為:Name(XPU_LV_DeviceListView)、Dock(Fill)、HeaderStyle(Clickable)、Dock(Top)。

Timer控件屬性:Name(XPU_Timer_UpdateDeviceList)、Enable(True)、Internal(5000)。

第二步,關(guān)聯(lián)相機(jī)資源。將工業(yè)相機(jī)動(dòng)態(tài)連接庫(kù)(PylonC.NET.dll、PylonC.NET.xml、PylonC.NETSupportLibrary.dll、PylonC.NETSupportLibrary.dll)中四個(gè)文件放入用戶應(yīng)用程序的目錄下新建的“bin”文件中。

第三步,鏈接“動(dòng)態(tài)鏈接庫(kù)”。在“解決方案資源管理器”中“引用”相機(jī)動(dòng)態(tài)鏈接庫(kù),并在主函數(shù)Form_Mains.cs文件頭中聲明相機(jī)動(dòng)態(tài)庫(kù)和Halcon動(dòng)態(tài)庫(kù)。

usingPylonC.NET; //Basler

usingPylonC.NETSupportLibrary; //Basler

第四步,連接相機(jī)。

(1)設(shè)置主程序入口。打開Program.cs,添加相機(jī)庫(kù)函數(shù)(usingPylonC.NET),并添加如下代碼,以實(shí)現(xiàn)正確引導(dǎo)。

(2)實(shí)例化一個(gè)相機(jī)。在Form_Main.cs中publicpartialclassForm_Main:Form的第一行上加入代碼:

privateImageProviderXPU_m_imageProvider=newImageProvider();

3)為了軟件魯棒穩(wěn)定,打開相機(jī)前先停止相機(jī)捕獲圖像。實(shí)現(xiàn)方法為在Form_Main.cs中publicForm_Main()函數(shù)后定義Stop()函數(shù)。

(4)連接相機(jī)。給“連接相機(jī)”按鈕編寫代碼:

(5)編寫ListView控件事件。第一是“選擇變化事件”;第二是“更新設(shè)備列表事件”;第三是“計(jì)時(shí)器變化事件”。

①選擇變化事件:

②更新設(shè)備列表事件:

③計(jì)時(shí)器變化事件:

上述程序已測(cè)試成功,如圖8-7所示。

圖8-7相機(jī)測(cè)試成功界面

2)單幅采集

第一步,在原有基礎(chǔ)上,增加按鈕、TabControl控件及設(shè)置屬性。

按鈕控件屬性為:Name(XPU_TSM_OneShot)、Text(單幅采集)。

TabControl控件屬性為:Name(XPU_TC_Tab)、Size(868,,680)。

聲明全局代碼如下:

publicstaticHImageHoImage; //全局變量Halcon用的圖像變量

privateBitmapXPU_m_bitmap=null; /*Thebitmapisusedfordisplayingtheimage.*/

boolcheck=false;

第二步,編寫按鈕代碼。

①增加“單幅采集”按鈕,單擊事件,代碼如下:

privatevoidXPU_TSM_OneShot_Click(objectsender,EventArgse)

{

XPU_OneShot();/*Startsthegrabbingofoneimage.*/

}

②在按鈕事件代碼之前首先編寫XPU_OneShot函數(shù):

③在Form_Main()函數(shù)中注冊(cè):

④實(shí)現(xiàn)相機(jī)設(shè)備基本代碼。基本代碼包括:

·XPU_OnGrabErrorEventCallback代碼:

·XPU_OnDeviceRemovedEventCallback代碼:

·XPU_OnDeviceOpenedEventCallback代碼:

·XPU_OnDeviceClosedEventCallback代碼:

·XPU_OnGrabbingStartedEventCallback代碼:

·XPU_OnGrabbingStoppedEventCallback代碼:

·XPU_OnImageReadyEventCallback代碼:

⑤圖像格式與Halcon圖形變量HImage轉(zhuǎn)換函數(shù),

⑥XPU_EnableButtons代碼

第三步,新建工程Pylon.NETSupportLibrary,該工程中包含相機(jī)操作的若干函數(shù)。

在“解決方案資源管理器”的“解決方案”下“添加”“新建項(xiàng)目”“類庫(kù)”Pylon.NETSupportLibrary.cs,建立三個(gè)“類”程序:BitmapFactory.cs、DeviceEnumerator.cs、ImageProvider.cs,或直接將已有的Pylon.NETSupportLibrary.cs添加進(jìn)來(lái),并在主函數(shù)中“引用”相機(jī)動(dòng)態(tài)鏈接庫(kù)。

第四步,測(cè)試。點(diǎn)擊“單幅采集”按鈕,測(cè)試成功,如圖8-8所示。

圖8-8單幅采集界面

3)相機(jī)參數(shù)設(shè)置的用戶控件

通過“用戶控件”方法實(shí)現(xiàn)相機(jī)參數(shù)的設(shè)置:首次建立用戶控件,需運(yùn)行程序。運(yùn)行后可自動(dòng)添加到“工件箱”中;然后,將用戶控件直接拖入需要的窗體中,設(shè)置響應(yīng)參數(shù)即可。

(1)設(shè)計(jì)用戶控件。

建立用戶控件:在“Pylon.NETSupportLibrary”下“添加”“用戶控件”項(xiàng)目,命名為EnumerationComboBoxUserControl.cs。

在EnumerationComboBoxUserControl.cs設(shè)計(jì)下,添加文本輸入控件(Label)(屬性:Name(XPU_LN_LabelName)、Text(ValueName:))和組合框(comboBox)(屬性:Name(XPU_CB_comboBox)、DropDownStyle(DropDownList))。

(2)編寫用戶控件功能代碼。

第一步,聲明頭文件函數(shù)。

usingPylonC.NETSupportLibrary;

usingPylonC.NET;

第二步,聲明用戶變量及函數(shù)。

第三步,連接相機(jī)參數(shù)。

第四步,定義“用戶控件”節(jié)點(diǎn)新的屬性。

第五步,相機(jī)事件代碼實(shí)現(xiàn)。主要代碼包括:

·XPU_DeviceOpenedEventHandler代碼:

·XPU_DeviceClosingEventHandler代碼:

·XPU_NodeCallbackEventHandler代碼:

第六步,子函數(shù)功能代碼實(shí)現(xiàn),代碼包括:

·XPU_Reset函數(shù)功能代碼:

·XPU_UpdateValues函數(shù)功能代碼:

第七步,響應(yīng)事件代碼實(shí)現(xiàn)。響應(yīng)事件代碼包括初始狀態(tài)設(shè)置和SelectedIndexChanged實(shí)現(xiàn)。

·初始狀態(tài)設(shè)置代碼:

·SelectedIndexChanged實(shí)現(xiàn)代碼:

(3)增添用戶控件。

第一步,建立用戶控件:在“Pylon.NETSupportLibrary”下“添加”“用戶控件”項(xiàng)目,命名為SilderUserControl.cs。

在EnumerationComboBoxUserControl.cs設(shè)計(jì)下,添加trackBar控件(屬性:Name(XPU_TB_Silder));4個(gè)Label控件(屬性:Name(XPU_Label_Min)、Text(Min);Name(XPU_Label_Max)、Text(Max);Name(XPU_Label_ValueName)、Text(ValuName);Name(XPU_Label_CurrentValue)、Text(0);)。

第二步,編寫功能代碼。

①聲明頭文件函數(shù)。

②聲明用戶變量及函數(shù)。

③連接相機(jī)參數(shù)。

④定義“用戶控件”節(jié)點(diǎn)新的屬性。

⑤相機(jī)事件代碼實(shí)現(xiàn)。相機(jī)事件代碼包括:

·DeviceOpenedEventHandler代碼:

·XPU_DeviceClosingEventHandler代碼:

⑥子函數(shù)功能代碼實(shí)現(xiàn)。子函數(shù)功能包括:

·XPU_Reset函數(shù)功能:

·XPU_UpdateValues函數(shù)功能:

⑦響應(yīng)事件代碼實(shí)現(xiàn)。響應(yīng)事件代碼包括初始狀態(tài)設(shè)置代碼和slider-Scroll模塊代碼。

·初始狀態(tài)設(shè)置代碼:

·slider_Scroll模塊代碼:

設(shè)計(jì)好編譯運(yùn)行成功后,在“工具箱”中即出現(xiàn)相應(yīng)的用戶控件。

(4)布局主窗體。

①增加控件,設(shè)置屬性。

向主窗體增加GroupBox控件(屬性:Name(XPU_GroupBox_CameraParameter)、Text(相機(jī)參數(shù)設(shè)置))。將兩個(gè)用戶控件1和四個(gè)用戶控件2拖入GroupBox中。

用戶控件1(屬性:Name(XPU_UserC_ComboBox_TestImage)、NodeName(TestImageSelector)、Name(XPU_UserC_ComboBox_PixelFormat)、NodeName(PixelFormat))。

用戶控件?2?(屬性:Name(XPU_UserC_Silder_Silder_Gain)、NodeName(GainRaw)、Name(XPU_UserC_Silder_Silder_ExposureTime)、NodeName(ExposureTimeRaw)、Name(XPU_UserC_Silder_Silder_Width)、NodeName(Width)、Name(XPU_UserC_Silder_Silder_Height)、NodeName(Width))。

②設(shè)置相機(jī)參數(shù)代碼。

在主函數(shù)Form_Main中,添加設(shè)置相機(jī)參數(shù)代碼:

③相機(jī)參數(shù)設(shè)置程序測(cè)試,如圖8-9所示。

圖8-9相機(jī)參數(shù)設(shè)置

4)連續(xù)采集

第一步,增加按鈕控件及屬性設(shè)置。

控件屬性:Name(XPU_TSM_ContinuousShot)、Text(連續(xù)采集);

第二步,編寫按鈕代碼。

第三步,“連續(xù)采集”程序測(cè)試如圖8-10所示。

圖8-10連續(xù)采集

5)停止采集

第一步,增加按鈕控件及屬性設(shè)置。

控件屬性:Name(XPU_TSM_Stop)、Text(停止采集);

第二步,編寫按鈕代碼。

第三步,“停止采集”程序測(cè)試,如圖8-11所示。

圖8-11停止采集

6)保存和打開圖像

第一步,增加兩個(gè)按鈕控件及屬性設(shè)置。

控件屬性:Name(XPU_TSM_OpenImage)、Text(打開圖像);

控件屬性:Name(XPU_TSM_SaveImage)、Text(保存圖像);

第二步,編寫按鈕代碼。

①“打開圖像”代碼實(shí)現(xiàn):

②“保存圖像”代碼實(shí)現(xiàn):

第三步,保存圖像和打開圖像測(cè)試,如圖8-12所示。

圖8-12保存圖像和打開圖像

7)開始檢測(cè)

第一步,增加按鈕控件及屬性設(shè)置。

第二步,編寫按鈕代碼。

第三步,建立算法類庫(kù)。

在“解決方案資源管理器”中,“添加”“新建項(xiàng)目”的“類庫(kù)”項(xiàng)目,命名為Algorithm。建立兩個(gè)“類”程序Result.cs和Algorithm.cs,也可直接將現(xiàn)成項(xiàng)目添加進(jìn)去。

(1)在Algorithm項(xiàng)目下,“添加”“新建項(xiàng)”的“類”文件,命名為Results.cs,并定義變量:

(2)在Algorithm項(xiàng)目下,“添加”“新建項(xiàng)”的“類”文件,命名為Algorithm.cs,導(dǎo)入從Halcon生成的代碼。具體流程如下:

①聲明Halcon庫(kù)文件:

usingHalconDotNet;

②在publicclassAlgorithm中聲明Results:

Resultsresult=newResults();

(3)在Halcon的HDevelop軟件中編寫二維碼檢測(cè)的算法,

(4)導(dǎo)出C#?語(yǔ)言。將上述代碼導(dǎo)出為“C#”語(yǔ)言,導(dǎo)出參數(shù)設(shè)置,包括導(dǎo)出范圍(程序)、函數(shù)屬性、窗口導(dǎo)出和編碼(UTF-8)。

(5)編寫整合優(yōu)化Halon二維碼識(shí)別主程序。將Halcon導(dǎo)出的C#?代碼放入主函數(shù)中,進(jìn)行優(yōu)化。

將導(dǎo)出的函數(shù)復(fù)制到初始化函數(shù)publicvoidInitHalcon()、運(yùn)行入口函數(shù)publicvoidRunHalcon(HTupleWindow)、子函數(shù)privatevoidaction()、publicvoiddisp_message()和publicvoidset_display_font()等函數(shù)中,并進(jìn)行修改。

第四步,關(guān)聯(lián)主函數(shù)。

在主項(xiàng)目中,“引用”下“添加引用”Algorithm項(xiàng)目,并且在主函數(shù)代碼聲明Algorithm命名控件:usingAlgorithm。

第五步,結(jié)果測(cè)試。

二維碼檢測(cè)算已測(cè)試,如圖8-13所示。

圖8-13二維碼檢測(cè)

8.2.2離線功能實(shí)現(xiàn)

該示例功能是讀取彩色圖像并灰度轉(zhuǎn)換。

1.編寫Halcon代碼

(1)在Halcon的HDevelop軟件編寫灰度轉(zhuǎn)換代碼:

(2)導(dǎo)出C#?語(yǔ)言。將上述代碼導(dǎo)出為C#?語(yǔ)言,導(dǎo)出參數(shù)設(shè)置包括:導(dǎo)出范圍(程序)、函數(shù)屬性、窗口導(dǎo)出和編碼(UTF-8)。導(dǎo)出后的程序有三個(gè)子函數(shù)action()、InitHalcon()和RunHalcon(HTupleWindow)。

2.編寫C#?主程序

(1)編寫整合優(yōu)化主程序。將Halcon導(dǎo)出的C#代碼放入主函數(shù)中。從導(dǎo)出的Halcon的C#中拷貝HDevelopExport類到命名空間中,并利用Halcon代碼構(gòu)造讀取圖像函數(shù)XPU_ReadImage和彩色轉(zhuǎn)灰度函數(shù)XPU_ImageProcessing。

(2)編寫按鈕控件代碼。

①在主函數(shù)中定義兩個(gè)變量:

HDevelopExportXPU=newHDevelopExport();

stringImagePath;

②添加“打開圖像”按鈕響應(yīng)事件:

③添加“開始檢測(cè)”按鈕響應(yīng)事件:

XPU.XPU_ImageProcessing();

3.結(jié)果測(cè)試

“彩色轉(zhuǎn)灰度”結(jié)果測(cè)試如圖8-14所示。

圖8-14彩色轉(zhuǎn)灰度

8.2.3形狀檢測(cè)

形狀檢測(cè)程序是在上述相機(jī)連接、數(shù)據(jù)采集及保存打開等基礎(chǔ)上設(shè)計(jì)的,相關(guān)功能模塊不變,僅對(duì)形狀檢測(cè)算法進(jìn)行分析。

1.編寫Halcon代碼

(1)檢測(cè)照片中圖像,且標(biāo)記中心位置及其方向。

(2)導(dǎo)出C#?語(yǔ)言。將上述代碼導(dǎo)出為“C#”語(yǔ)言,導(dǎo)出參數(shù)設(shè)置為:導(dǎo)出范圍(程序)、函數(shù)屬性、窗口導(dǎo)出和編碼(UTF-8)。導(dǎo)出后的程序有子函數(shù)disp_continue_message、disp_message、set_display_font()、action()、InitHalcon()和RunHalcon(HTupleWindow)。

2.編寫形狀測(cè)試算法代碼

將Halcon導(dǎo)出的算法模塊復(fù)制到Algorithm.cs程序中,并修改子函數(shù)action程序。在acti

溫馨提示

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

評(píng)論

0/150

提交評(píng)論