版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文檔為使用SVP進(jìn)行智能視覺算法開發(fā)的程序員而寫,目的是供您在開發(fā)過程中查閱SVP支持的各種參考信息,包括API、頭文件、錯(cuò)誤碼等。
員輕微或中等。
2.19小節(jié),新增vxSvpSetObjectArrayAttribute;3vxsvpobjectarrayattribute2.22小節(jié) 2.24.15小節(jié), nPredict和 數(shù)】和【相關(guān)】涉及修改;修改圖2-6,新增圖2-7~圖2-142- 3章,vxsvpwkcnnmodelattributee【定義】和【成新增第6章FAQ3章,VXSCALEUNITYVXSVPWKMAXREPORTNODECNT~VXSVPTARGETNAMENNIEvxsvpwkcnnmodelattributee的【定義】及【成員】涉第2章,新增 nModel、LoadBinary和NNIE的接口描Sobel3x3Sobel5x52.25.15小節(jié), 3vxsvpwkcnnmodelattributee、vxsvpwkcnnreportmodee、vxsvpwkcnnreportnodeinfotvxsvpdspmemtypee、vxsvpdspcoreidProc 概 概 API參 N Load NNIE(NeuralNetworkInference 數(shù)據(jù)類型和數(shù)據(jù)結(jié) 錯(cuò)誤 HiSVP錯(cuò)誤 Proc信息說 如何增加用戶函數(shù)至OpenVX框 Cache內(nèi)存的使 圖1-2Context生命周期示意 圖1-3Graph生命周期示意 圖1-4跨度(stride)示意 圖1-5VXDFIMAGEU8\VXDFIMAGESVPS8\VXDFIMAGES16\VXDFIMAGEU16\VXDFIMAGES32\VXDFIMAGEU32\VXDFIMAGESVPS64\VXDFIMAGESVPU64類型的vximage圖 圖1-6VXDFIMAGENV21類型的vximage圖 圖1-7VXDFIMAGESVPNV22類型的vximage圖 圖1-8VXDFIMAGESVPYUV420P類型的vximage圖 圖1-9VXDFIMAGESVPYUV422P類型的vximage圖 圖1-10VXDFIMAGESVPS8C2PACKAGE類型的vximage圖 圖1-11VXDFIMAGESVP NAR類型的vximage圖 圖1-12VXDFIMAGESVPU8C3PACKAGE類型的vximage圖 圖1-13VXDFIMAGESVP NAR類型的vximage圖 圖2-1依賴環(huán) 圖2-2孤立節(jié)點(diǎn) 圖2-3CNN輸出特征向量示意 圖2-4預(yù)測(cè)結(jié)果內(nèi)存排布 圖2-5FasterRCNN類型網(wǎng)絡(luò)三段式執(zhí) 圖2-6卷積計(jì)算結(jié)果內(nèi)存排布 圖2- n卷積計(jì)算結(jié)果Report1(conv5)內(nèi)存排布 圖2- n卷積計(jì)算結(jié)果Report2(Rpnclsscore)內(nèi)存排布 圖2- n卷積計(jì)算結(jié)果Report3(Rpnbboxpred)內(nèi)存排布 圖2-10全連接輸出分?jǐn)?shù)值示意 圖2-11全連接輸出BBox示意 圖2-12Roi內(nèi)存排布示意 圖2-13SSD類型網(wǎng)絡(luò)四段式執(zhí) 圖2-14SSD卷積1計(jì)算結(jié)果內(nèi)存總體排布 圖2-15SSD卷積1計(jì)算結(jié)果內(nèi)存詳細(xì)排布 圖2-16歸一化結(jié)果內(nèi)存排布 圖2-17SSD第三段卷積計(jì)算結(jié)果內(nèi)存排布 圖2-18全卷積輸出特征向量排布 圖2- 圖2- 圖2- 卷積計(jì)算結(jié)果Report1(Rpnclsscore)內(nèi)存排布 圖2- 卷積計(jì)算結(jié)果Report2(Rpnbboxpred)內(nèi)存排布 圖2- 卷積計(jì)算結(jié)果Report clsscore)內(nèi)存排布 圖2- 卷積計(jì)算結(jié)果Report bboxpred)內(nèi)存排布 圖2- RPN輸出候選框內(nèi)存排布 圖2- RoiPooling輸出Score內(nèi)存排布 圖2- RoiPooling輸出Bbox內(nèi)存排布 表1-1二維廣義圖像類 表4-1HiSVP錯(cuò)誤 文檔版本00B05(2017-09-
SVP(SmartVision tform)是海思處理智能視覺異構(gòu)加速平臺(tái)。該平臺(tái)基于Openvx1.1ARM,DSP,NNIE等多個(gè)處理單元,實(shí)現(xiàn)視覺算法的并行處理。用戶可基于SVP高效的計(jì)算機(jī)視覺硬件加速平臺(tái),開發(fā)智能方案。OpenVX是一種低的軟件編程框架,通過OpenVX,用戶可以高效的計(jì)算機(jī)視覺硬件加速平臺(tái)。OpenVX支持移動(dòng)設(shè)備、嵌入式SOC、桌面系統(tǒng)等現(xiàn)代的硬件架構(gòu)。OpenVX是一種將CPU,DSPs,GPUs,視覺處理等硬件平臺(tái)的功能和性O(shè)penVX定義了一組創(chuàng)建、校驗(yàn)、內(nèi)存等用來協(xié)同執(zhí)行圖的API函數(shù);抽象Graph的結(jié)構(gòu)使開發(fā)者能夠更好的使用底層加速架構(gòu)。另外,OpenVX也定義了一些獨(dú)立的vxu庫,開發(fā)者通過vxu庫,可在不創(chuàng)建Graph的情況下直接調(diào)用視覺函數(shù)。用戶調(diào)用vxuSVPGraph,所以,通過這種方式用戶就不能對(duì)Graph的結(jié)構(gòu)進(jìn)行優(yōu)化。
所有對(duì)象繼承Reference,所有對(duì)象指針可以轉(zhuǎn)化為ReferenceContextObjectsObjects的申請(qǐng)和釋放。Context中的數(shù)據(jù)是私有的,用戶不可見的;整個(gè)系統(tǒng)中只有一個(gè)Context,不支持創(chuàng)建多個(gè)Context。Kernel在這里代表視覺函數(shù),比如“SobelGradient”和“LucasKanadeFeatureTracking”;OpenVX中如果兩個(gè)視覺函數(shù)使用相同的name和枚舉類型,則認(rèn)為它們是同一個(gè);Parameter應(yīng)Kernel有如下特征:IndexParameterKernelTypeParameterVXTYPEIMAGE,orVXTYPEARRAY等VXINPUT(輸入、VXOUTPUT(輸出、VXBIDIRECTIONAL(既是輸入又是輸出。VXPARAMETERSTATEREQUIRED(必需參數(shù))或者VXPARAMETERSTATEOPTIONAL(可選參數(shù)。(ParameterGraphNodes組成的有向無環(huán)圖。GraphNodes是根據(jù)參數(shù)建立依賴關(guān)系的,不用明確Nodes的執(zhí)行順序;但是Nodes之間的連接也是有限制的,就是Graph中任何一個(gè)參數(shù)只能被一個(gè)Node輸出,否則不能建立依賴關(guān)系。假多個(gè)Nodes,每個(gè)Nodes的parameter都是輸入輸出型的,他們的加載順序決定
MxNVirtualDataGraph中的nodes之間是通過DataObjects建立依賴關(guān)系的,當(dāng)開發(fā)者不需要這些DataObjects的時(shí)候,可以創(chuàng)建VirtualDataObjects。在連接Nodes時(shí),VirtualData不可:VirtualDataObjects不可以通過Map/Unmap或者Copy函數(shù)規(guī)格和格式:VirtualDataObjects在創(chuàng)建的時(shí)候,可以部分設(shè)定或者完全不設(shè)定其規(guī)格或者格式,在GraphVerify階段,OpenVXNode輸出參數(shù)的需要,VirtualDataObjectsVirtualDataObjects在創(chuàng)建的時(shí)GraphVerifyVirtualDataObjects時(shí)有如下約束:VirtualDataObjectsNode中其他參數(shù)得到的,在創(chuàng)建Image的時(shí)候,必須設(shè)定其相應(yīng)的屬性。沒有設(shè)定規(guī)格和格式的virtualpyramid不能作為Node的輸出。ObjectsVirtualParentObjectVerifyGraphParentObjectObjects的屬性也會(huì)被調(diào)整(ParentObject為Node的輸出參數(shù))。VerifyGraph階段,當(dāng)子Objects為Node優(yōu)化:VirtualDataObjects當(dāng)前版本不支持VirtualObjectsNodeNode中的參數(shù)為原子類型數(shù)據(jù)(vxuint32,vxenum)Objects(vxscalar,vximagegraph的執(zhí)行過程中,Node中的參數(shù)可以被改變,但是如果參數(shù)的reference發(fā)生改變,那么Graph則需重新校驗(yàn)。Node中的參數(shù)可以通過vxGetParameterByIndex函數(shù)獲得,然后通過vxQueryParameter函數(shù)可以獲取Node中參數(shù)的Reference。GraphGraph中也會(huì)有參數(shù),參數(shù)從Node中提取出來后可以通過vxAddParameterToGraph函數(shù)添加到Graph中,Graph中parameter和Graph中Node的parameter是關(guān)聯(lián)的;在Graph執(zhí)行過程中,用戶可以通過vxSetGraphParameterByIndex函數(shù)改變Graph中的parameter的reference,以達(dá)到改變Node中parameter的reference的目的。Graph中的ParameterGraphFactories(Graph模板),這樣用戶通過改變模板中需要改變的參數(shù)就可以直接執(zhí)行Graph,免得每次都要構(gòu)建Graph。Graph
阻塞執(zhí)行模式(調(diào)用vxProcessGraph,直至Graph執(zhí)行完成或者執(zhí)行過程中出現(xiàn)非阻塞執(zhí)行模式(vxScheduleGraphvxaitGraph,Graph的性能是由Graph的結(jié)構(gòu)決定的,為了使創(chuàng)建后的Graph能夠被執(zhí)行,需要滿足Graph是由一系列NodesN1…Nn和一系列數(shù)據(jù)ObjectsD1…Di組成的,邊(Nx,Dy)表示數(shù)據(jù)Dy是NodeNx的輸出參數(shù),同理,邊(Dx,Ny)則表示Dx為NodeNy的輸入?yún)⒌妮斎胼敵鲫P(guān)系可以建立依賴關(guān)系,如果NodeNi不依賴其它任何Nodes,則稱Ni為HeadNode;反之稱Ni為DependentNode;輸出邊NxDy)DyNxOUTPUT(輸出)INOUT(既是輸入邊NxDy)DyNxINPUT(輸入)INOUT(既是輸Node中既是輸入又是輸出參數(shù)(INOUT),則不能為VirtualNode中參數(shù)的類型一定要正確(vxtype
節(jié)點(diǎn)回調(diào)函數(shù)是一種保證GraphNode的執(zhí)行結(jié)果,做出相應(yīng)的選擇;用戶可以使用ThevxAssignNodeCallbackNode的回調(diào)函數(shù)。回調(diào)函數(shù)是在Graph執(zhí)行過程中被調(diào)用的;如果Nodes之間沒有依賴關(guān)系,它們回調(diào)函數(shù)的調(diào)用則沒有先后順序,如果Nodes之間存在依賴關(guān)系,那么回調(diào)函數(shù)的調(diào)用也是串行的?;卣{(diào)函數(shù)的參數(shù)可能是從Node中獲取的,在回調(diào)函數(shù)被調(diào)用之前,參數(shù)一定要提取出來,其有效性。用戶自定義OpenVX支持用戶自定義Kernel,但是,要以Node的形式插入到Graph輸出參數(shù)和輸入?yún)?shù)的關(guān)系必須校驗(yàn),例如某些算子要求輸入Image和輸出Image的長和寬必須相等。對(duì)于參數(shù)校驗(yàn),HiSVP在OpenVx的基礎(chǔ)上進(jìn)行了改變。OpenVx1.1標(biāo)準(zhǔn)中,將參數(shù)Node應(yīng)該有的輸出參數(shù)屬性通過MetaFormat格式傳遞出來,并在輸出參數(shù)校驗(yàn)MetaFormatObjectSVP中要求用戶只實(shí)現(xiàn)一個(gè)校驗(yàn)函數(shù)對(duì)Node的輸入?yún)?shù)和輸出參數(shù)進(jìn)行校驗(yàn)。即”vx”+””+”O(jiān)bject類型”,例如:vximage、vxuint8。對(duì)于結(jié)構(gòu)體數(shù)據(jù),采用“vx_struct_t”的形式,即”vx結(jié)構(gòu)體名字”+”t”,例如:vximagepatchaddressingt。對(duì)于枚舉類型則采用“vx_enum_e”的形式,即”vx”+”枚舉名字”+”e”,vxtypee用戶自定義KernelSVPOpenVX,Kernel名必須包含平臺(tái)名與Kernel名,且以“:”分開,例如:”openvx-kernelSVPOpenVX,Kernel編譯成動(dòng)態(tài)庫(.dll或so),通過調(diào)用vxLoadKernels進(jìn)行加載,該函數(shù)會(huì)調(diào)用動(dòng)態(tài)庫中的vxPublishKernels(vxcontextcotext)函數(shù)加載Kernel,vxPublishKernels會(huì)調(diào)用vxFinalizeKernel,加載順序如圖1-1所示。
OpenVx提供立即模式函數(shù)接口,立即模式的接口函數(shù)和Node的函數(shù)不同,采用vxu<Name>NodeGraph使TargetKernel的平臺(tái)。SVPCPU、DSP0,DSP1,CNN等多個(gè)平臺(tái),用戶可以通過vxSetNodeTarget、vxSetImmediateModeTarget以及vxtargete設(shè)定Kernel的執(zhí)行平臺(tái),SVPVXTARGETANYVXTARGETSTRING兩種設(shè)定
ContextvxCreateContext開始,至調(diào)用vxReleaseContext1-2用 Graph,vxCreateGraphNodes之間的依賴關(guān)Graph,通過調(diào)用vxVerifyGraphSVP會(huì)對(duì)用戶設(shè)計(jì)的Graph進(jìn)行執(zhí)行階段,用戶通過調(diào)用vxProcessGraph或者vxScheduleGraphGraph,用戶通過調(diào)用vxReleaseGraph函數(shù)釋放Graph創(chuàng)建創(chuàng)建Verify執(zhí)行釋放Object,通過vxCreate<Object><Method>vxGet<Object><Method>從其它Objects中獲取。Graph中或者立即模式中被使用。通過vxRelease<Object>釋放。SVP的內(nèi)存管理在OpenVX1.1OpenVX自已管理,又支持用戶管理。SVP增加了一組以vxSvpCreate<Object>WithAddr格式命名的API,例如:vxCreateImagewithAddr(),通過這種方式,用戶可以在創(chuàng)建Image的時(shí)候,就將ImageOpenVXDataObjects內(nèi)存通過map,copy等接口函數(shù)(讀/寫),SVP不支持多線程同時(shí)DataObjects;在Graph執(zhí)行的過程中,不允許通過map,copy等接口函數(shù)改變DataObjects,只有當(dāng)Graph執(zhí)行完,才可以改變。
圖1-4跨度(stride)示意圖
體見各算子API參的參數(shù)要求。VXDFIMAGEVXDFIMAGE如圖1-5所示vximage中的VXDFIMAGESVP如圖1-5所示vximage中的VXDFIMAGENV2YCbCr420Semi 1-6vximage中的u64PhyAddr[0]、示u64VirAddr[0](Y)VXDFIMAGESVPYcbCr422Seminnar數(shù)1-7所vximage中的u64PhyAddr[0]、u64VirAddr[0](亮度Y)和VXDFIMAGESVP式圖像,如圖1-8所示vximage中的u64VirAddr[0](亮度Y),u64VirAddr[1](色度U)和u64VirAddr[2](色度V);Y跨度)、U跨度)和V跨度)VXDFIMAGESVP式圖像,如圖1-9所示vximage中的u64VirAddr[0](亮度Y),u64VirAddr[1](色度U)和u64VirAddr[2](色度V)U跨度)和V跨度)VXDFIMAGESVPS8C2PACKAGE8bit有符號(hào)雙通道且以Package格式的圖像,如圖1-10所示vximage中的u64PhyAddr[0]、VXDFIMAGESVPS8C2NAR8bit如圖1-11所示vximage中的u64PhyAddr[0]、VXDFIMAGE像,如圖1-5所示IVEIMAGESVXDFIMAGE像,如圖1-5所示vximage中的u64PhyAddr[0]、VXDFIMAGESVPU8C3PACKAGE8bit無符號(hào)三通道且以Package格式的圖像,如圖1-12所示IVEIMAGESVXDFIMAGESVPU8C3NAR8bit如圖1-13所示;vximage中的u64PhyAddr[0]、VXDFIMAGE像,如圖1-5所示;vximage中的u64PhyAddr[0]、VXDFIMAGE像,如圖1-5所示;IVEIMAGESVXDFIMAGESVP像,如圖1-5所示;vximage中的u64PhyAddr[0]、VXDFIMAGESVP像,如圖1-5所示;vximage中的u64PhyAddr[0]、圖1-5VXDFIMAGEU8VXDFIMAGESVPS8VXDFIMAGES16VXDFIMAGEU16VXDFIMAGES32\VXDFIMAGEU32\VXDFIMAGESVPS64VXDFIMAGESVPU64vximage
Width*nbitnbitnbitnbitn nbitnbitnbitnbitn 圖1-6VXDFIMAGENV21vximage圖1-7VXDFIMAGESVPNV22vximage
Y0Y1Y2Y3Y4Y5
V0U0V2U2V4U4V6 圖1-8圖1-8VXDFIMAGESVPYUV420Pvximage圖1-9圖1-9VXDFIMAGESVPYUV422PvximageY0Y0Y1Y2Y3Y4Y5U0U1V0V1 圖1-10VXDFIMAGESVPS8C2PACKAGEvximage
S8_00
S8_10 S8_20 Width以2個(gè)S8為1圖1-11圖1-11VXDFIMAGESVPNARvximage
圖1-12VXDFIMAGESVPU8C3PACKAGEvximage注:對(duì)于RGBPACKAGE圖像,是以“B0G0R0B1G1R1…”形式 ,B在最前面。對(duì)于HSVPACKAGE圖像,是以“H0S0V0H1S1V1…”形 ,H在最前面對(duì)于LABPACKAGE圖像,是以“L0A0B0L1A1B1…”形式,L在最前面圖1-13VXDFIMAGESVP NAR類型的vximage圖注:對(duì)于 NAR圖像,指針數(shù)組VirAddr[3]按順序分別H、S、V的指針,而數(shù)組分別為H、S、V對(duì)于 NAR圖像,指針數(shù)組VirAddr[3]按順序分別L、A、B的指針,而數(shù)組分別為L、A、B2API
vxQueryReference:查詢Reference:釋放:設(shè)置vxCreateContext:創(chuàng)建Context:釋放:獲取vxQueryContext:查詢Context:設(shè)置立即模式的缺?。和ㄓ茫鹤枞麍?zhí)行:非阻塞執(zhí)行
vxSetNodeAttribute:設(shè)置Nodeode:創(chuàng)建Node:查詢:釋放庫:加載:卸載:添加用戶:完成vxRemoveKernelKernel從ContextvxGetParameterByIndexNode中通過索引獲取ParametervxSetParameterByIndex:通過索引設(shè)置NodeParameter:通過設(shè)置vxQueryParameter:查詢Parameter
:查詢vxGetReferenceFromDelayDalayReference:創(chuàng)建虛擬:釋放:映射:去映射:創(chuàng)建常值vxSwapImageHandle:交換Handle:釋放
UT:創(chuàng)建LutvxQueryLUTLutvxCopyLUTLutvxMapLUT:映射Lut:創(chuàng)建:釋放vxCreateDistribution:創(chuàng)建DistributionvxReleaseDistribution:釋放Distribution:拷貝:映射:去映射:創(chuàng)建:釋放
vxCreateThreshold:創(chuàng)建Threshold:釋放vxQueryThreshold:查詢Threshold:創(chuàng)建:創(chuàng)建:創(chuàng)建虛擬:獲?。翰樵?/p>
:創(chuàng)建:設(shè)置:設(shè)置vxSvpQueryMemSVPMemvxSvpMapMemSVPMem
vxSvpCoreDisable:非使能DSP]]
]]]]]]]]]
]]
nGetTopNNode:[非阻塞]CNNPredictSoftmax運(yùn)算來預(yù)測(cè)每個(gè)樣本圖像的類別,并輸出置信度最高為N的類別以及對(duì)應(yīng)的置信度。 nGetTopN:[阻塞]CNNPredictSoftmax運(yùn)算來預(yù)N的類別(Rank-1)以及對(duì)應(yīng)的置信nConv:[阻塞RCNNnFc:[阻塞RCNNnGetResultNode:[非阻塞]RcnnFc結(jié)果,執(zhí)行運(yùn)算,ROI nGetResult:[阻塞]RcnnFcSoftmax運(yùn)算,輸出分?jǐn)?shù)值和ROI區(qū)域。vxSvpWkSSDConv1Node:[非阻塞]SSDvxuSvpWkSSDConv1:[阻塞SSDvxSvpWkSSDNormNode:[非阻塞SSD操作第二段,L2-NormvxuSvpWkSSDNorm:[阻塞SSD操作第二段,L2-NormvxSvpWkSSDConv2Node:[非阻塞SSDvxuSvpWkSSDConv2:[阻塞SSDvxSvpWkSSDGetResultNode:[非阻塞SSD操作第四段,執(zhí)行Softmax運(yùn)算,輸出分?jǐn)?shù)值和ROI區(qū)域。vxuSvpWkSSDGetResult:[阻塞SSDSoftmax運(yùn)算,輸出分?jǐn)?shù)值和ROI區(qū)域。]] RPN操作 RPN操作 RoiPooling操作
GetResultNode:[非阻塞]接 RoiPooling結(jié)果,執(zhí)Softmax運(yùn)算,ROI GetResult:[阻塞]接收 RoiPooling結(jié)果,執(zhí)行Softmax運(yùn)算,輸出分?jǐn)?shù)值和ROI區(qū)域。VXAPIENTRYvxstatusVXAPICALLvxQueryReference(vxreferenceref,vxenumattribute,void*ptr,vxsizesize);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseReference(vx*refref0庫文件:libsvp.a(PC上模擬用hisvpsimObjectRelease函數(shù)(例如:vxReleaseNode等,該函VXAPIENTRYvxstatusVXAPICALLvxRetainReference(vxreference0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetReferenceName(vxreferenceref,constvxchar*name);以’\0’結(jié)尾的字符串指針長度不VXMAXREFERENCE可以為NULL0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxcontextVXAPICALLvx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseContext(vxcontext0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxcontextVXAPICALLvxGetContext(vxreferencevx庫文件:libsvp.a(PC上模擬用hisvpsimreferenceVXTYPECONTEXTreferencereferenceContextVXAPIENTRYvxstatusVXAPICALLvxQueryContext(vxcontextcontext,vxenumattribute,void*ptr,vxsizesize);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetContextAttribute(vxcontextcontext,vxenumattribute,constvoid*ptr,vxsizesize);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetImmediateModeTarget(vxcontextcontext,vxenumtargetenum,constchar*targetstring);targetvxtargetetarget0庫文件:libsvp.a(PChisvpsimVXTARGETSTRING模式下,target_string不能為空通用VXAPIENTRYvxstatusVXAPICALLvxHint(vxreferencereference,vxenumhint,constvoid*data,vxsizedatasize);vxhintedata0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxDirective(vxreferencereference,vxenumdirective);vxdirectivee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxgraphVXAPICALLvxCreateGraph(vxcontextvx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseGraph(vxgraph0庫文件:libsvp.a(PC上模擬用hisvpsimgraph被回收后,graph中包含的所有node都會(huì)被釋放。VXAPIENTRYvxstatusVXAPICALLvxVerifyGraph(vxgraph0庫文件:libsvp.a(PC上模擬用hisvpsimGraphNodeNode沒有依賴關(guān)系,2-2所示。VXAPIENTRYvxstatusVXAPICALLvxProcessGraph(vxgraph0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)會(huì)對(duì)Graph進(jìn)行校驗(yàn)。VXAPIENTRYvxstatusVXAPICALLvxScheduleGraph(vxgraphgraph0
庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxWaitGraph(vxgraph0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxQueryGraph(vxgraphgraph,vxenumattribute,void*ptr,vxsizesize);vxgraphattributee庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetGraphAttribute(vxgraphgraph,vxenumattribute,constvoid*ptr,vxsizesize);vxgraphattribute0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxboolVXAPICALLvxIsGraphVerified(vxgraphvxtruevxfalse庫文件:libsvp.a(PC上模擬用hisvpsimvxProcessGraphvxScheduleGraph自動(dòng)增長DelayVXAPIENTRYvxstatusVXAPICALLvxRegisutoAging(vxgraphgraph,vxdelaydelay);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxAddParameterToGraph(vxgraphgraph,vxparameterparameter);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetGraphParameterByIndex(vxgraphgraph,vxuint32index,vxreferencevalue);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxparameterVXAPICALLvxGetGraphParameterByIndex(vxgraphgraph,vxuint32index);vx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxQueryNode(vxnodenode,vxenumattribute,void*ptr,vxsizesize);vxnodeattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetNodeAttribute(vxnodenode,vxenumattribute,constvoid*ptr,vxsizesize);vxnodeattribute0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseNode(vxnode0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)會(huì)減少Node的次數(shù),當(dāng)Node的次數(shù)為0的時(shí)候,Node才會(huì)被“回VXAPIENTRYvxstatusVXAPICALLvxRemoveNode(vxnode0庫文件:libsvp.a(PC上模擬用hisvpsimNodeGraph中移除并“回收”,nodeNULLVXAPIENTRYvxstatusVXAPICALLvxSetNodeTarget(vxnodenode,vxenumtargetenum,constchar*targetstring);vxtarget0庫文件:libsvp.a(PC上模擬用hisvpsimtargetenum中,VXTARGETANYtargetVXTARGETSTRING是根據(jù)傳入的target名稱來確定執(zhí)行平臺(tái),所以當(dāng)target為VXTARGETSTRING時(shí),targetstring不能為NULL創(chuàng)建重復(fù)的NodeVXAPIENTRYvxstatusVXAPICALLvxReplicateNode(vxgraphvxnodefirstnode,vxboolreplicate[],vxuint32numberoffirst一個(gè)長度等于node中元素為vxtruee表明vxobjectarray中提取的)應(yīng)該numberof數(shù)組中parameters0庫文件:libsvp.a(PC上模擬用hisvpsimvxinputvxobjectarrayvxtrueparameterVXAPIENTRYvxnodeVXAPICALL ode(vxgraphgraph,vxkernelkernel);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxAssignNodeCallback(vxnodenode, pletefcallback);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvx pletefVXAPICALLvxRetrieveNodeCallback(vxnodenode);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxkernelVXAPICALLvxGetKernelByEnum(vxcontextvxenumvxkernelevx庫文件:libsvp.a(PC上模擬用hisvpsimkernel的枚舉ID來獲取用戶kernel。VXAPIENTRYvxkernelVXAPICALLvxGetKernelByName(vxcontextcontext,constvxchar*name);Kernelvxkerenlvx庫文件:libsvp.a(PChisvpsimnameVXMAXKERNELNAMEVXAPIENTRYvxstatusVXAPICALLvxQueryKernel(vxkernelkernel,vxenumattribute,void*ptr,vxsizesize);vxkernelattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseKernel(vxkernel*0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)減少Kernel的一次次數(shù),當(dāng)Kernel的次數(shù)為0的時(shí)候,Kernel才會(huì)分配用戶KernelIDVXAPIENTRYvxstatusVXAPICALLvxAllocateUserKernelId(vxcontextcontext,vxenum*pKernelEnumId);指向分配KernelId的空間0庫文件:libsvp.a(PChisvpsim系統(tǒng)會(huì)從VXKERNELBASE(VXIDUSER,0)開始分配,用戶在Kernel的時(shí)候,也可以不調(diào)用該函數(shù),自定義Kernel的枚舉值。KernelIDVXAPIENTRYvxstatusVXAPIvxAllocateUserKernelLibraryId(vxcontextcontext,vxenum*指向分配Kernel庫Id的空0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxLoadKernels(vxcontextcontext,constvxchar*module);0庫文件:libsvp.a(PC上模擬用hisvpsim輸入動(dòng)態(tài)庫的名稱時(shí),要去掉后綴名,用戶可以輸入的最大module名長度為:來加載用戶kernel。VXAPIENTRYvxstatusVXAPICALLvxUnloadKernels(vxcontextcontext,constvxchar*module);0庫文件:libsvp.a(PC上模擬用hisvpsim來釋放通過module加載的用戶kernel。VXAPIENTRYvxkernelVXAPICALLvxAddUserKernel(vxcontextcontext,constvxcharname[VXMAXKERNELNAME],vxenumenumeration,vxkernelffuncptr,vxuint32numParams,vxkernelvalidatefvalidate,vxkernelinitializefinit,vxkerneldeinitializeffuncvx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxFinalizeKernel(vxkernel0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxAddParameterToKernel(vxkernelkernel,vxuint32index,vxenumdir,vxenumdatatype,vxenumstate);vxdirectionedatavxtypeevxparameterstatee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxRemoveKernel(vxkernel0庫文件:libsvp.a(PC上模擬用hisvpsim創(chuàng)建的VXAPIENTRYvxstatusVXAPICALLvxSetKernelAttribute(vxkernelkernel,vxenumattribute,constvoid*ptr,vxsizesize);vxkernelattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxparameterVXAPICALLvxGetKernelParameterByIndex(vxkernelkernel,vxuint32index);Parametervx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxparameterVXAPICALLvxGetParameterByIndex(vxnodenode,vxuint32index);Parametervx庫文件:libsvp.a(PC上模擬用hisvpsim釋放ParameterVXAPIENTRYvxstatusVXAPICALLvxReleaseParameter(vx0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)減少param的一次次數(shù),當(dāng)param的次數(shù)為0的時(shí)候,param才會(huì)被VXAPIENTRYvxstatusVXAPICALLvxSetParameterByIndex(vxnodenode,vxuint32index,vxreferencevalue);Parameter0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetParameterByReference(vxparameterparameter,vxreferencevalue);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxQueryParameter(vxparameterparam,vxenumattribute,void*ptr,vxsizesize);vxparameterattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxQueryDelay(vxdelaydelay,vxenumattribute,void*ptr,vxsizesize);vxdelayattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseDelay(vxdelay0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)減少Delay的一次次數(shù),當(dāng)Delay的次數(shù)為0的時(shí)候,Delay才會(huì)被VXAPIENTRYvxdelayVXAPICALLvxCreateDelay(vxcontextcontext,vxreferenceexemr,vxsizeslots);vx庫文件:libsvp.a(PC上模擬用hisvpsim1.x.lib)vxVXAPIENTRYvxreferenceVXAPICALLvxGetReferenceFromDelay(vxdelaydelay,vxint32index);vx
庫文件:libsvp.a(PC上模擬用hisvpsim1.x.lib)VXAPIENTRYvxstatusVXAPICALLvxAgeDelay(vxdelay0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvoidVXAPICALLvxAddLogEntry(vxreferenceref,vxstatusstatus,constchar*message,...);…庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvoidVXAPICALLvxRegisterLogCallback(vxcontextcontext,vxlogcallbackfcallback,vxboolreentrant);庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxarrayVXAPICALLvxCreateArray(vxcontextcontext,vxenumitemtype,vxsizecapacity);itemvx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxarrayVXAPICALLvxCreateVirtualArray(vxgraphgraph,vxenumitemtype,vxsizecapacity);itemArrayvx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxReleaseArray(vxarray0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)將Array的次數(shù)減1,直到Array的次數(shù)為0的時(shí)候,Array才會(huì)被VXAPIENTRYvxstatusVXAPICALLvxQueryArray(vxarrayarr,vxenumattribute,void*ptr,vxsizesize);vxarrayattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxAddArrayItems(vxarrayarr,vxsizecount,constvoid*ptr,vxsizestride);0庫文件:libsvp.a(PC上模擬用hisvpsim從尾端截?cái)郃rrayVXAPIENTRYvxstatusVXAPICALLvxTruncateArray(vxarrayarr,vxsizenewnumitems);newnum0庫文件:libsvp.a(PC上模擬用hisvpsim將數(shù)組中的元素從尾部刪除,刪除個(gè)數(shù)Array的元素個(gè)數(shù)newnumitemsVXAPIENTRYvxstatusVXAPICALLvxCopyArrayRange(vxarrayarray,vxsizerangestart,vxsizerangeend,vxsizeuserstride,void*userptr,vxenumusage,vxenumusermemrangerangeuseruser指向從Array中拷貝出數(shù)據(jù)Array中數(shù)據(jù)的地址(輸入)。vxaccessore,該函數(shù)只支持VXREADONLY和VXWRITEONLYusermemvxmemorytype0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxMapArrayRange(vxarrayarray,vxsizerangestart,vxsizerangeend,vxmapid*mapid,vxsize*stride,void**ptr,vxenumusage,vxenummemtype,vxuint32rangerangemapMapId,用于vxaccessorememvxmemorytypee0庫文件:libsvp.a(PC上模擬用hisvpsimusageVXREADONLYVXREADANDWRITEVXAPIENTRYvxstatusVXAPICALLvxUnmapArrayRange(vxarrayarray,vxmapidmapid);map0庫文件:libsvp.a(PC上模擬用hisvpsim數(shù)組的元素經(jīng)vxMapArrayRange函數(shù)后,可以被用戶。用戶可以拷貝或者改變獲取的數(shù)據(jù),然后調(diào)用vxUnmapArrayRange函數(shù)后,可以將改變后的數(shù)據(jù)賦值mapid由vxMapArrayRangeVXAPIENTRYvxenumVXAPICALLvxRegisterUserStruct(vxcontextcontext,vxsizesize);VXTYPEUSERSTRUCTSTART庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxarrayVXAPICALLvxSvpCreateArrayWithAddr(vxcontextcontext,vxenumitemtype,vxsizecapacity,vxsvpaddrt*addr,vxuint32itemArrayvx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvximageVXAPICALLvxCreateImage(vxcontextcontext,vxuint32width,vxuint32height,vxdfimagecolor);Imagevxdfimagevxsvpdfimageevx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvximageVXAPICALLvxCreateImageFromROI(vximageimg,constvxrectanglet*rect);ImageRoivx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvximageVXAPICALLvxCreateUniformImage(vxcontextcontext,vxuint32width,vxuint32height,vxdfimagecolor,constvxpixelvaluet*value);vx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvximageVXAPICALLvxCreateVirtualImage(vxgraphgraph,vxuint32width,vxuint32height,vxdfimagecolor);vx庫文件:libsvp.a(PC上模擬用hisvpsim虛擬Image是用戶不可的,而且虛擬Image只能在當(dāng)前Graph中使用,不可以被Graph所使用,創(chuàng)建虛擬Image時(shí),用戶可以不完全設(shè)定Image的規(guī)格和類型,vxcontextcontext vxgraphgraph vximagevirt[] vxCreateVirtualImage(graph,0,0,VXDFIMAGEU8),//nospecifiedvxCreateVirtualImage(graph,320,240,VXDFIMAGEVIRT),//nospecifiedformatvxCreateVirtualImage(graph,640,480,VXDFIMAGEU8),//nouserVXAPIENTRYvximageVXAPICALLvxCreateImageFromHandle(vxcontextcontext,vxdfimagecolor,constvximagepatchaddressingtaddrs[],void*constptrs[],vxenummemorytype);Imagevxdfimagevxsvpdfimageeptrsvxmemorytypeevx庫文件:libsvp.a(PC上模擬用hisvpsimaddrsvximagepatchaddressingtdimx,dimystridexandstridey就可以,其它參數(shù)在這個(gè)函數(shù)中用不到;內(nèi)存分布一定是按行分布的,所以要求strideystridex*dimx。即使Image是通過vxCreateImageFromHandle函數(shù)創(chuàng)建的,在Image的像釋放vxCreateImageFromHandle創(chuàng)建的Image時(shí),應(yīng)該先使用vxSwapImageHandle函數(shù)將Image中的內(nèi)存地址替換掉。VXAPIENTRYvxstatusVXAPICALLvxSwapImageHandle(vximageimage,void*constnewptrs[],void*prevptrs[],vxsizenumnes);newprevnumImage的ne個(gè)數(shù)0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)主要是用于設(shè)置Image的新handle(image各ne的地址信息),獲取Image取其中的數(shù)據(jù)或者釋放它。由于Image的各個(gè)屬性都沒有發(fā)生變化,所以Image新的地址信息一定要和Image匹配。注意new_ptrs和prev_ptrs的成員個(gè)數(shù)一定要大于或者等于numnes的VXAPIENTRYvxstatusVXAPICALLvxQueryImage(vximageimage,vxenumattribute,void*ptr,vxsizesize);vximageattributee0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetImageAttribute(vximageimage,vxenumattribute,constvoid*ptr,vxsizesize);vximageattributee0庫文件:libsvp.a(PChisvpsimVXIMAGESPACEVXAPIENTRYvxstatusVXAPICALLvxReleaseImage(vximage0庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)會(huì)減少Image的次數(shù),只有當(dāng)image的次數(shù)減少為0的時(shí)候,才VXAPIENTRYvxsizeVXAPICALL puteImagePatchSize(vximageimage,constvxrectangletrect,vxuint32neindex);輸入?yún)^(qū)域塊vxrectanglet。ne非0庫文件:libsvp.a(PC上模擬用hisvpsimrect的起始坐標(biāo)應(yīng)滿足條件:0startxendximage的寬,0startyendy<=image的高。neindex應(yīng)滿足0<=neindex<image的ne個(gè)數(shù)(ne個(gè)數(shù)可通過查詢文VXAPIENTRYvoid*VXAPICALLvxFormatImagePatchAddress1d(void*ptr,vxuint32index,constvximagepatchaddressingt*addr);pixel在圖像塊中的索引值,1,index要保證在圖像塊中。非庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvoid*VXAPICALLvxFormatImagePatchAddress2d(void*ptr,vxuint32x,vxuint32y,constvximagepatchaddressingt*addr);xXyY非庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxGetValidRegionImage(vximageimage,vxrectanglet*rect);0庫文件:libsvp.a(PC上模擬用hisvpsim當(dāng)前版本不支持ROI,所以調(diào)用該函數(shù)返回的區(qū)域信息是ImageVXAPIENTRYvxstatusVXAPICALLvxCopyImagePatch(vximageimage,constvxrectanglet*imagerect,vxuint32imageneindex,vximagepatchaddressingt*useraddr,void*userptr,vxenumusage,vxenumusermemtype);image區(qū)域塊vxrectanglet。useruser用來指向需要寫入的數(shù)據(jù),模式時(shí),用imagevxaccessore。本函數(shù)中支持VXREADONLY和VXWRITEONLYusermemvxmemorytypee0庫文件:libsvp.a(PC上模擬用hisvpsimrect的起始坐標(biāo)應(yīng)滿足條件:0startxendximage的寬,0startyendy<=image的高。imageneindex應(yīng)滿足0<=imageneindex<image的ne個(gè)數(shù)(ne個(gè)VXAPIENTRYvxstatusVXAPICALLvxMapImagePatch(vximageimage,constvxrectanglet*rect,vxuint32neindex,vxmapid*mapid,vximagepatchaddressingt*addr,void**ptr,vxenumusage,vxenummemtype,vxuint32flags);ne輸入的imagene索引mapMapId用于vxUnmapImagePatch該image由建,則ptr指向創(chuàng)建Image時(shí)所vxaccessorememvxmemorytypee0庫文件:libsvp.a(PC上模擬用hisvpsimusageVXREADONLY,VXREADANDWRITE,VXWRITEuniformimageVXREADONLY與VXAPIENTRYvxstatusVXAPICALLvxUnmapImagePatch(vximageimage,vxmapidmapid);map0庫文件:libsvp.a(PC上模擬用hisvpsimImage中的像素經(jīng)vxMapImagePatch函數(shù)后,可以被用戶。用戶可以拷貝或賦值給Image中的像素及釋放資源。與VXAPIENTRYvximageVXAPICALLvxCreateImageFromChannel(vximageimg,vxenumchannel);vx庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxSetImageValidRectangle(vximageimage,constvxrectanglet*rect);0庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvximageVXAPICALLvxSvpCreateImageWithAddr(vxcontextcontext,vxuint32width,vxuint32height,vxdfimagecolor,vxsvpaddrtaddr[3],vxuint32Imagevxdfimagevxsvpdfimageevx庫文件:libsvp.a(PC上模擬用hisvpsim
VXAPIENTRYvxlutVXAPICALLvxCreaUT(vxcontextcontext,vxenumdatatype,vxsizecount);datavx庫文件:libsvp.a(PC上模擬用hisvpsimdatatype只支持VXTYPEUINT8和VXTYPEINT16兩種類型,并且data_typeVXTYPEUINT8時(shí),count256;data_type為VXTYPEINT16時(shí),count必須小于等于65536。VXAPIENTRYvxstatusVXAPICALLvxReleaseLUT(vxlut0
庫文件:libsvp.a(PC上模擬用hisvpsim該函數(shù)減少Lut的一次次數(shù),當(dāng)Lut的次數(shù)為0的時(shí)候,Lut才會(huì)被回收VXAPIENTRYvxstatusVXAPICALLvxQueryLUT(vxlutlut,vxenumattribute,void*ptr,vxsizesize);Lut指針。vxlutattributee0
庫文件:libsvp.a(PC上模擬用hisvpsimVXAPIENTRYvxstatusVXAPICALLvxCopyLUT(vxlutlut,void*userptr,vxenumusage,vxenumusermemtype);Lut指針。uservxaccessoreusermemvxmemorytypee0
庫文件:libsvp.a(PC上模擬用hisvpsimusageVXREADONLYVXWRITEONLYVXAPIENTRYvxstatusVXAPICALLvxMapLUT(vxlutlut,vxmap*mapid,void**ptr,vxenumusage,vxenummemtype,vxbitfieldLut指針。mapvxaccessorememvxmemorytypee0庫文件:libsvp.a(PC上模擬用hisvpsimusageVXREADONLY,VXREADANDWRITE,VXWRITEONLYVXAPIENTRYvxstatusVXAPICALLvxUnmapLUT(vxlutlut,vxmapidmapid);mapmapid0庫文件:libsvp.a(PC上模擬用hisvpsimLut中的元素經(jīng)vxMapLUT函數(shù)后,可以被用戶。用戶可以拷貝或者改變獲取的數(shù)據(jù),然后調(diào)用vxUnmapLUTLut中的VXAPIENTRYvxlutVXAPICALLvxSvpCreaUT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 腳手架搭設(shè)專項(xiàng)施工方案
- 個(gè)人小額無抵押借款合同協(xié)議書
- 結(jié)束協(xié)議房地產(chǎn)代理合同
- 蔬菜營銷策略購買合同
- 瓷磚訂購合同模板
- 電子元件采購合同范本
- 購銷紡織品的合同樣本
- 校園多媒體設(shè)備招標(biāo)文件
- 網(wǎng)絡(luò)購銷合同規(guī)范化管理的方法與策略
- 農(nóng)資采購合同的效力問題
- 2024年秋期國家開放大學(xué)《0-3歲嬰幼兒的保育與教育》大作業(yè)及答案
- 2024年就業(yè)保障型定向委培合同3篇
- 2024滬粵版八年級(jí)上冊(cè)物理期末復(fù)習(xí)全冊(cè)知識(shí)點(diǎn)考點(diǎn)提綱
- 人教版2024-2025學(xué)年第一學(xué)期八年級(jí)物理期末綜合復(fù)習(xí)練習(xí)卷(含答案)
- 殘聯(lián)內(nèi)部審計(jì)計(jì)劃方案
- 2024-2030年中國漫畫行業(yè)發(fā)展趨勢(shì)與投資戰(zhàn)略研究研究報(bào)告
- 儺戲面具制作課程設(shè)計(jì)
- 2024年大學(xué)生安全知識(shí)競(jìng)賽題庫及答案(共190題)
- 2024中國華電集團(tuán)限公司校招+社招高頻難、易錯(cuò)點(diǎn)練習(xí)500題附帶答案詳解
- 吊裝作業(yè)施工方案
- 智能工廠梯度培育行動(dòng)實(shí)施方案
評(píng)論
0/150
提交評(píng)論