青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 46  文章 - 39  trackbacks - 0
<2017年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

友情鏈接

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

5.3    移動(dòng)操作

    本節(jié)介紹三種移動(dòng)PTZ單元操作,絕對(duì)、相對(duì)或移動(dòng)。所有操作都需要profile token,引用PTZ配置中的Media Profile。

    所有移動(dòng)命令應(yīng)以非阻塞方式執(zhí)行,表示不應(yīng)等到請(qǐng)求的移動(dòng)操作完成。新的移動(dòng)請(qǐng)求可以覆蓋最后的移動(dòng)操作。

    由于本規(guī)范涉及的物理設(shè)備范圍廣泛,因此本規(guī)范不要求對(duì)PTZ移動(dòng)操作的特定相應(yīng)時(shí)間。但是設(shè)備應(yīng)盡量減少PTZ移動(dòng)命令響應(yīng)的延遲。設(shè)備沒(méi)有完全控制PTZ控制輸入和設(shè)備移動(dòng)的滯后。網(wǎng)絡(luò)與客戶端的延遲會(huì)增加滯后。實(shí)現(xiàn)應(yīng)該盡快減少設(shè)備的延遲。

5.3.1.    絕對(duì)移動(dòng)(AbsoluteMove)
    如果PTZ節(jié)點(diǎn)支持絕對(duì)水平/俯仰或絕對(duì)變焦的移動(dòng),則應(yīng)支持絕對(duì)移動(dòng)操作。這個(gè)命令的位置參數(shù)指定PTZ單元要移動(dòng)的絕對(duì)位置。它分為一個(gè)可選的水平/俯仰元素和一個(gè)可選的變焦元素。如果忽略了水平/俯仰位置,則當(dāng)前的水平/俯仰運(yùn)動(dòng)不受此命令的影響。變焦也是同樣的原理。

    PTZ節(jié)點(diǎn)支持的絕對(duì)位置空間,如果省略了空間信息,則PTZ配置的相應(yīng)的默認(rèn)空間,采用指定控件的媒體屬性。設(shè)備僅為有絕對(duì)位置空間提供支持絕對(duì)水平/俯仰或變焦的服務(wù)。現(xiàn)有的移動(dòng)操作命令中的速度參數(shù)比PTZ配置中的默認(rèn)速度優(yōu)先級(jí)要高。如果空間引用了速度參數(shù),那么需要支持PTZ節(jié)點(diǎn)支持的速度空間。

    如果無(wú)法達(dá)到所要求的絕對(duì)位置,操作將失敗。

請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
• Position [tt:PTZVector]
指定絕對(duì)目標(biāo)位置的矢量
• Speed – 可選[tt:PTZSpeed]
可選速度矢量
響應(yīng)(RESPONSE): 空消息
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ節(jié)點(diǎn)不支持的空間。
• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
請(qǐng)求的位置超出了界限。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
請(qǐng)求的速度超出了界限。
訪問(wèn)權(quán)限類(ACCESS CLASS)
ACTUATE

5.3.2.    相對(duì)移動(dòng)(RelativeMove)

    如果PTZ節(jié)點(diǎn)支持相對(duì)水平/俯仰或相對(duì)變焦移動(dòng),則需要支持相對(duì)移動(dòng)(RelativeMove)操作。此操作的轉(zhuǎn)換參數(shù)指定當(dāng)前位置與要移動(dòng)的位置的插值。該操作可分為一個(gè)可選的水平/俯仰元素和一個(gè)可選的變焦參數(shù)。如果水平/俯仰忽略掉了,那么當(dāng)前的水平/俯仰位置不會(huì)受此命令的影響。變焦元素也同樣。
    轉(zhuǎn)換元素中引用的空間應(yīng)該為PTZ節(jié)點(diǎn)支持的轉(zhuǎn)換空間。如果轉(zhuǎn)換參數(shù)的空間信息忽略掉了,那么將根據(jù)PTZ配置的默認(rèn)空間。設(shè)備需要支持相對(duì)水平/俯仰移動(dòng),相對(duì)變焦移動(dòng)或不支持相對(duì)運(yùn)動(dòng)。
    在請(qǐng)求移動(dòng)的命令中攜帶的速度參數(shù)優(yōu)先于PTZ配置中的默認(rèn)速度。如果空間引用了速度參數(shù),則PTZ節(jié)點(diǎn)需要支持速度空間。
    通過(guò)發(fā)送水平/俯仰和變焦0值命令可以在當(dāng)前位置停止PTZ單元。停止應(yīng)具有與引用相對(duì)空間完全相同的效果。
    如果請(qǐng)求轉(zhuǎn)換后的絕對(duì)位置是無(wú)法到達(dá)的,那么PTZ節(jié)點(diǎn)需要移動(dòng)最接近的有效位置。
請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
• Translation [tt:PTZVector]
指定相對(duì)于當(dāng)前位置的位置平移的向量
• Speed – 可選[tt:PTZSpeed]
可選速度矢量
響應(yīng)(RESPONSE): 空消息
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ節(jié)點(diǎn)不支持的空間。
• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
請(qǐng)求的轉(zhuǎn)換超出了界限。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
請(qǐng)求的速度超出了界限。
訪問(wèn)權(quán)限類(ACCESS CLASS)
ACTUATE

5.3.3.    連續(xù)移動(dòng)(ContinuousMove)

    具有PTZ功能的設(shè)備應(yīng)支持連續(xù)移動(dòng)。此命令的速度參數(shù)為水平/俯仰和縮放指定的有符號(hào)的速度值。組合的水平/俯仰元素及變焦元素也是可選的。如果水平/俯仰元素忽略掉了,當(dāng)前的水平/俯仰元素則不受此命令的影響。變焦元素也是如此。引用有速度元素的空間的PTZ節(jié)點(diǎn)需要支持速度空間。如果速度參數(shù)忽略掉了空間信息,那么采用相應(yīng)的指定媒體文件的PTZ配置的默認(rèn)空間。設(shè)備通過(guò)僅為支持的情況提供速度空間來(lái)支持連續(xù)水平/俯仰移動(dòng)和連續(xù)變焦動(dòng)作。
    當(dāng)前移動(dòng)操作的超時(shí)參數(shù)優(yōu)先于相應(yīng)PTZ配置的默認(rèn)超時(shí)參數(shù)。超時(shí)參數(shù)決定PTZ節(jié)點(diǎn)的連續(xù)移動(dòng)的時(shí)間。
    當(dāng)0作為該軸的連續(xù)移動(dòng)參數(shù)時(shí),設(shè)備應(yīng)停止在特定軸(水平,俯仰或變焦)的移動(dòng)。引用的速度空間也應(yīng)有獨(dú)立的停止功能。這個(gè)命令在連續(xù)移動(dòng)的影響與在5.3.5節(jié)中的停止命令是一樣的。
    請(qǐng)求的速度得到的絕對(duì)位置是不能到達(dá)的,則PTZ節(jié)點(diǎn)應(yīng)移動(dòng)到最接近的能到達(dá)的位置。連續(xù)移動(dòng)操作的典型應(yīng)用是通過(guò)操縱桿控制PTZ。
請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
• Velocity [tt:PTZSpeed]
速度矢量指定水平,俯仰和變焦的速度。
• Timeout– 可選[tt:duration]
可選超時(shí)
響應(yīng)(RESPONSE): 空消息
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ節(jié)點(diǎn)不支持的空間。
• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
請(qǐng)求的轉(zhuǎn)換超出了界限。
• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
指定的超時(shí)參數(shù)不在支持的超時(shí)時(shí)間范圍內(nèi)。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
請(qǐng)求的速度超出了界限。
訪問(wèn)權(quán)限類(ACCESS CLASS)
ACTUATE

5.3.4.    地理移動(dòng)(GeoMove)

    設(shè)備有GeoMove信號(hào),則PTZ節(jié)點(diǎn)需要支持這類命令。
    可選的AreaHeight和AreaWidth參數(shù)可以添加到參數(shù)中,所以PTZ設(shè)備可以決定變焦因子。如果沒(méi)有提供AreaHeight和AreaWidth,該單元將不會(huì)更改變焦。AreaHeight和AreaWidth用米來(lái)表示。
    請(qǐng)求的轉(zhuǎn)換過(guò)程中的速度參數(shù)優(yōu)先于相應(yīng)的PTZ配置的默認(rèn)速度。如果引用的空間含有速度參數(shù),那么PTZ節(jié)點(diǎn)應(yīng)支持速度空間。
    如果PTZ設(shè)備不支持自動(dòng)檢索地理位置,那么在執(zhí)行地理引用命令之前使用SetGeoLocation進(jìn)行設(shè)置。客戶端如果在設(shè)備設(shè)置地理位置之前發(fā)送GeoMove命令,設(shè)備應(yīng)返回一個(gè)錯(cuò)誤。
    取決于PTZ設(shè)備的運(yùn)動(dòng)方式,請(qǐng)求的位置可能無(wú)法到達(dá)。這種情況下設(shè)備應(yīng)返回一個(gè)錯(cuò)誤,表示由于物理限制無(wú)法執(zhí)行請(qǐng)求的操作。
請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
• Target [tt:GeoLocation]
目標(biāo)坐標(biāo)。
• Speed – 可選[tt:PTZSpeed]
指定水平,俯仰和變焦的速度矢量。
• AreaWidth – 可選[xs:float]
要顯示的可選區(qū)域。
• AreaHeight – 可選[xs:float]
要顯示的可選區(qū)域。

響應(yīng)(RESPONSE): 空消息
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
設(shè)備不支持地理移動(dòng)。
• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
請(qǐng)求的轉(zhuǎn)換超出了界限。
• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
指定的超時(shí)參數(shù)不在支持的超時(shí)時(shí)間范圍內(nèi)。
• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
由于地理位置未配置或不可用,該單元無(wú)法執(zhí)行GeoMove。
訪問(wèn)權(quán)限類(ACCESS CLASS)
ACTUATE

5.3.5.    停止(Stop)

    PTZ設(shè)備需支持停止操作。如果沒(méi)有指定停止的參數(shù),那么這個(gè)命令將停止所有正在進(jìn)行的水平,俯仰和變焦動(dòng)作。通過(guò)指定相應(yīng)的停止參數(shù)可以停止對(duì)應(yīng)的操作。
請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
• PanTilt – 可選[xs:boolean]
停止水平和俯仰操作(默認(rèn)為true)。
• Zoom – 可選[xs:boolean]
停止變焦操作(默認(rèn)為true)。
響應(yīng)(RESPONSE): 空消息
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
訪問(wèn)權(quán)限類(ACCESS CLASS)
ACTUATE

5.3.6.    移動(dòng)并開(kāi)始跟蹤(MoveAndStartTracking)

    設(shè)備PTZ節(jié)點(diǎn)有MoveAndTrack時(shí)應(yīng)該支持這個(gè)命令。這個(gè)操作的目的是向設(shè)備發(fā)送一個(gè)自動(dòng)命令:移動(dòng)攝像機(jī)到想要的位置然后通過(guò)追蹤算法代理PTZ操作。使用原子命令,延遲被最小化。移動(dòng)位置是可選的且可以按照三種模式進(jìn)行設(shè)置:
• 通過(guò)地理位置坐標(biāo)
• 通過(guò)預(yù)置位token
• 通過(guò)PTZVector位置
    請(qǐng)求位置移動(dòng)的的速度參數(shù)優(yōu)先于相應(yīng)的PTZ配置的默認(rèn)速度。如果引用空間含有速度參數(shù),那么PTZ節(jié)點(diǎn)需支持速度空間。
    如果在同一個(gè)設(shè)備中完成了偵察和追蹤,那么ObjectID引用可以作為參數(shù),以指定應(yīng)跟蹤哪個(gè)對(duì)象。
    請(qǐng)求的絕對(duì)位置設(shè)備無(wú)法到達(dá),則操作將失敗。
請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
• GeoLocation  – 可選 [tt:GeoLocation]
可選目標(biāo)坐標(biāo)。
• PresetToken – 可選[tt:ReferenceToken]
對(duì)一個(gè)存在的預(yù)置位token的可選應(yīng)用。
• TargetPosition – 可選[tt:PTZVector]
指定絕對(duì)目標(biāo)位置的可選向量。
• Speed – 可選[tt:PTZSpeed]
可選速度矢量。
• ObjectID – 可選[tt:ObjectID]
要跟蹤對(duì)象的可選Object ID。
響應(yīng)(RESPONSE): 空消息
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ節(jié)點(diǎn)不支持的空間。
• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
請(qǐng)求的位置超出了界限。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
請(qǐng)求的速度超出了界限。
• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
設(shè)備不支持地理移動(dòng)。
• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
請(qǐng)求的轉(zhuǎn)換超出了界限。
• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
由于地理位置未配置或不可用,該單元無(wú)法執(zhí)行GeoMove。
• env:Sender - ter:InvalidArgVal - ter:NoToken
請(qǐng)求的預(yù)置位token不存在。
訪問(wèn)權(quán)限類(ACCESS CLASS)
ACTUATE

5.3.7.    狀態(tài)獲取(GetStatus)

PTZ設(shè)備需支持通過(guò)GetStatus命令報(bào)告PTZ狀態(tài)。PTZ狀態(tài)包含以下信息:
• 位置Position (可選) – 引用空間指定云臺(tái)單元的絕對(duì)位置。相應(yīng)PTZ配置的默認(rèn)絕對(duì)空間應(yīng)在位置元素中引用。如果設(shè)備有StatusPosition能力,則需要顯示此信息。
• 移動(dòng)狀態(tài)MoveStatus(可選) – 表示水平/俯仰/變焦設(shè)備單元當(dāng)前是否正在移動(dòng)、空閑或處于位置狀態(tài)。如果設(shè)備有MoveStatus能力,則需要顯示此信息。未知狀態(tài)不應(yīng)在正常錯(cuò)誤中使用,但是在初始化或錯(cuò)誤狀況下使用。
• 錯(cuò)誤Error (可選) – 表示當(dāng)前PTZ錯(cuò)誤狀態(tài)。MoveStatus未知狀態(tài)時(shí),顯示這個(gè)字段。
• 國(guó)際標(biāo)準(zhǔn)時(shí)間 UTC Time – 指定生成狀態(tài)時(shí)的UTC時(shí)間。
請(qǐng)求(REQUEST):
• ProfileToken [tt:ReferenceToken]
對(duì)現(xiàn)有媒體配置文件的引用
響應(yīng)(RESPONSE): 空消息
• PTZStatus[tt:PTZStatus]
請(qǐng)求媒體文件的PTZStatus。
錯(cuò)誤(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
請(qǐng)求的配置文件token內(nèi)ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
請(qǐng)求的配置文件token未引用PTZ配置。
• env:Receiver – ter:Action - ter:NoStatus
請(qǐng)求的媒體配置文件中沒(méi)有可用的PTZ狀態(tài)。
訪問(wèn)權(quán)限類(ACCESS CLASS)
    READ_MEDIA

posted @ 2021-06-19 20:38 canaan 閱讀(2568) | 評(píng)論 (0)編輯 收藏
     摘要:   5.   服務(wù) 5.1      PTZ節(jié)點(diǎn) 5.1.1.   常規(guī)          支持PTZ的設(shè)備可以有多個(gè)PTZ節(jié)點(diǎn)。PTZ節(jié)點(diǎn)可以表示機(jī)械PTZ驅(qū)動(dòng)器。上傳的云臺(tái)驅(qū)動(dòng)程序或數(shù)字...  閱讀全文
posted @ 2021-06-17 16:34 canaan 閱讀(1626) | 評(píng)論 (0)編輯 收藏
     摘要: 1.   范圍          本文檔定義了用于配置和操作云臺(tái)變焦控制器的web服務(wù)接口。此外,還定義了相關(guān)事件。 Web服務(wù)的使用不在本文檔的范圍內(nèi)。請(qǐng)參考ONVIF核心規(guī)范。 2.   引用標(biāo)準(zhǔn) ONVIF核心規(guī)范 <http://www...  閱讀全文
posted @ 2021-06-16 21:59 canaan 閱讀(1853) | 評(píng)論 (0)編輯 收藏
縱觀歷史,一代代偉人,哲學(xué)家,或是帝國(guó);
曾經(jīng)的波斯帝國(guó),你在哪里?
曾經(jīng)的亞歷山大,又去了何方,是否也漸漸被人遺忘?
埃及艷后,伊麗莎白,你們的名氣雖大,但終歸已是塵土。

橫看世界,地球你在太陽(yáng)系中算小的;
太陽(yáng)系你在銀河系中又是怎樣的地位?
銀河系啊,你在宇宙中又占哪個(gè)位置?

人啊,你在地球上可以算是一個(gè)管理者。
你今日為房子勞碌而委屈了自己,你自己有想過(guò)嗎?
你昨日因?yàn)橐患∈露鴲瀽炆鷼猓趾伪啬兀?br/>
我不知是明天太陽(yáng)先升起,還是意外先來(lái)臨。
曾經(jīng)你相信生活不止眼前的茍且,現(xiàn)在還相信還有詩(shī)和遠(yuǎn)方的田野嗎?

你是否將自己局限在自己想象的框架中了呢?

posted @ 2017-08-05 23:26 canaan 閱讀(958) | 評(píng)論 (2)編輯 收藏
c#與C++類型轉(zhuǎn)換,網(wǎng)摘2011-12-08 8:33//c++:HANDLE(void   *)          ----    c#:System.IntPtr      
//c++:Byte(unsigned   char)     ----    c#:System.Byte       
//c++:SHORT(short)              ----    c#:System.Int16       
//c++:WORD(unsigned   short)    ----    c#:System.UInt16      
 //c++:INT(int)                 ----    c#:System.Int16      
//c++:INT(int)                  ----    c#:System.Int32       
//c++:UINT(unsigned   int)      ----    c#:System.UInt16      
//c++:UINT(unsigned   int)      ----    c#:System.UInt32      
//c++:LONG(long)                ----    c#:System.Int32       
//c++:ULONG(unsigned   long)    ----    c#:System.UInt32       
//c++:DWORD(unsigned   long)    ----    c#:System.UInt32       
//c++:DECIMAL                   ----    c#:System.Decimal       
//c++:BOOL(long)                ----    c#:System.Boolean       
//c++:CHAR(char)                ----    c#:System.Char       
//c++:LPSTR(char   *)           ----    c#:System.String       
//c++:LPWSTR(wchar_t   *)       ----    c#:System.String       
//c++:LPCSTR(const   char   *)  ----    c#:System.String       
//c++:LPCWSTR(const   wchar_t   *)      ----    c#:System.String       
//c++:PCAHR(char   *)   ----    c#:System.String       
//c++:BSTR              ----    c#:System.String       
//c++:FLOAT(float)      ----    c#:System.Single       
//c++:DOUBLE(double)    ----    c#:System.Double       
//c++:VARIANT           ----    c#:System.Object       
//c++:PBYTE(byte   *)   ----    c#:System.Byte[]       
//c++:BSTR      ----    c#:StringBuilder      
//c++:LPCTSTR   ----    c#:StringBuilder      
//c++:LPCTSTR   ----    c#:string      
//c++:LPTSTR    ----    c#:[MarshalAs(UnmanagedType.LPTStr)] string       
//c++:LPTSTR 輸出變量名    ----    c#:StringBuilder 輸出變量名      
//c++:LPCWSTR   ----    c#:IntPtr      
//c++:BOOL      ----    c#:bool         
//c++:HMODULE   ----    c#:IntPtr          
//c++:HINSTANCE ----    c#:IntPtr       
//c++:結(jié)構(gòu)體    ----    c#:public struct 結(jié)構(gòu)體{};       
//c++:結(jié)構(gòu)體 **變量名   ----    c#:out 變量名 
//C#中提前申明一個(gè)結(jié)構(gòu)體實(shí)例化后的變量名      
//c++:結(jié)構(gòu)體 &變量名    ----    c#:ref 結(jié)構(gòu)體變量名               
//c++:WORD      ----    c#:ushort      
//c++:DWORD     ----    c#:uint      
//c++:DWORD     ----    c#:int      
//c++:UCHAR     ----    c#:int      
//c++:UCHAR     ----    c#:byte      
//c++:UCHAR*    ----    c#:string      
//c++:UCHAR*    ----    c#:IntPtr      
//c++:GUID      ----    c#:Guid      
//c++:Handle    ----    c#:IntPtr      
//c++:HWND      ----    c#:IntPtr      
//c++:DWORD     ----    c#:int      
//c++:COLORREF  ----    c#:uint      
//c++:unsigned char     ----    c#:byte      
//c++:unsigned char *   ----    c#:ref byte      
//c++:unsigned char *   ----    c#:[MarshalAs(UnmanagedType.LPArray)] byte[]      
//c++:unsigned char *   ----    c#:[MarshalAs(UnmanagedType.LPArray)] Intptr      
//c++:unsigned char &   ----    c#:ref byte      
//c++:unsigned char 變量名      ----    c#:byte 變量名      
//c++:unsigned short 變量名     ----    c#:ushort 變量名      
//c++:unsigned int 變量名       ----    c#:uint 變量名      
//c++:unsigned long 變量名      ----    c#:ulong 變量名      
//c++:char 變量名       ----    c#:byte 變量名 
//C++中一個(gè)字符用一個(gè)字節(jié)表示,C#中一個(gè)字符用兩個(gè)字節(jié)表示      
//c++:char 數(shù)組名[數(shù)組大小]     ----    c#:MarshalAs(UnmanagedType.ByValTStr, SizeConst = 數(shù)組大小)]      
public string 數(shù)組名; ushort      
//c++:char *            ----    c#:string     
//傳入?yún)?shù)      
//c++:char *            ----    c#:StringBuilder
//傳出參數(shù)      
//c++:char *變量名      ----    c#:ref string 變量名      
//c++:char *輸入變量名  ----    c#:string 輸入變量名      
//c++:char *輸出變量名  ----    c#:[MarshalAs(UnmanagedType.LPStr)] StringBuilder 輸出變量名      
//c++:char **           ----    c#:string      
//c++:char **變量名     ----    c#:ref string 變量名      
//c++:const char *      ----    c#:string      
//c++:char[]            ----    c#:string      
//c++:char 變量名[數(shù)組大小]     ----    c#:[MarshalAs(UnmanagedType.ByValTStr,SizeConst=數(shù)組大小)] public string 變量名;   
//c++:struct 結(jié)構(gòu)體名 *變量名   ----    c#:ref 結(jié)構(gòu)體名變量名      
//c++:委托 變量名   ----    c#:委托變量名      
//c++:int       ----    c#:int      
//c++:int       ----    c#:ref int      
//c++:int &     ----    c#:ref int      
//c++:int *     ----    c#:ref int    
//C#中調(diào)用前需定義int 變量名 = 0;      
//c++:*int      ----    c#:IntPtr      
//c++:int32 PIPTR *     ----    c#:int32[]      
//c++:float PIPTR *     ----    c#:float[]              
//c++:double** 數(shù)組名          ----    c#:ref double 數(shù)組名      
//c++:double*[] 數(shù)組名          ----    c#:ref double 數(shù)組名      
//c++:long          ----    c#:int      
//c++:ulong         ----    c#:int              
//c++:UINT8 *       ----    c#:ref byte     
//C#中調(diào)用前需定義byte 變量名 = new byte();              
//c++:handle    ----    c#:IntPtr      
//c++:hwnd      ----    c#:IntPtr                      
//c++:void *    ----    c#:IntPtr              
//c++:void * user_obj_param    ----    c#:IntPtr user_obj_param      
//c++:void * 對(duì)象名稱    ----    c#:([MarshalAs(UnmanagedType.AsAny)]Object 對(duì)象名稱              
//c++:char, INT8, SBYTE, CHAR                               ----    c#:System.SByte        
//c++:short, short int, INT16, SHORT                        ----    c#:System.Int16        
//c++:int, long, long int, INT32, LONG32, BOOL , INT        ----    c#:System.Int32        
//c++:__int64, INT64, LONGLONG                              ----    c#:System.Int64        
//c++:unsigned char, UINT8, UCHAR , BYTE                    ----    c#:System.Byte        
//c++:unsigned short, UINT16, USHORT, WORD, ATOM, WCHAR , __wchar_t             ----    c#:System.UInt16        
//c++:unsigned, unsigned int, UINT32, ULONG32, DWORD32, ULONG, DWORD, UINT      ----    c#:System.UInt32        
//c++:unsigned __int64, UINT64, DWORDLONG, ULONGLONG                            ----    c#:System.UInt64        
//c++:float, FLOAT                                                              ----    c#:System.Single        
//c++:double, long double, DOUBLE                                               ----    c#:System.Double        
//Win32 Types        ----  CLR Type                
//Struct需要在C#里重新定義一個(gè)Struct      
//CallBack回調(diào)函數(shù)需要封裝在一個(gè)委托里,delegate static extern int FunCallBack(string str);      
//unsigned char** ppImage替換成IntPtr ppImage      
//int& nWidth替換成ref int nWidth      
//int*, int&, 則都可用 ref int 對(duì)應(yīng)      
//雙針指類型參數(shù),可以用 ref IntPtr      
//函數(shù)指針使用c++: typedef double (*fun_type1)(double); 對(duì)應(yīng) c#:public delegate double  fun_type1(double);      
//char* 的操作c++: char*; 對(duì)應(yīng) c#:StringBuilder;      
//c#中使用指針:在需要使用指針的地方 加 unsafe      
//unsigned   char對(duì)應(yīng)public   byte      
posted @ 2016-07-22 14:36 canaan 閱讀(404) | 評(píng)論 (0)編輯 收藏
提示:學(xué)習(xí)這課之前,我們假設(shè)你已經(jīng)知道如何用imread載入圖像并用imshow顯示在窗口中。 如果還不知道那么先看
新手入門(mén)學(xué)習(xí)OpenCV2.4.13 載入并顯示圖像 (二)
目標(biāo):
在這個(gè)教程中你將會(huì)學(xué)到:
1、使用imread載入圖像
2、使用cvtColor將圖像沖BGR格式轉(zhuǎn)換為Grayscale格式
3、使用imwrite將轉(zhuǎn)換好的圖像保存到硬盤(pán)上

源碼:
 1 #include <cv.h>
 2 #include <highgui.h>
 3 
 4 using namespace cv;
 5 
 6 int main(int argc, char ** argv)
 7 {
 8     char* imageName = argv[1];
 9     Mat image;
10     image = imread(imageName, 1);
11 
12     if (2 != argc || !image.data)
13     {
14         printf("No image data\n");
15         return -1;
16     }
17 
18     Mat gray_image;
19     cvtColor(image, gray_image, CV_BGR2GRAY);
20 
21     imwrite("D:/images/Gray_Image.jpg", gray_image);
22 
23     namedWindow(imageName, CV_WINDOW_AUTOSIZE);
24     namedWindow("Gray image", CV_WINDOW_AUTOSIZE);
25 
26     imshow(imageName, image);
27     imshow("Gray image", gray_image);
28 
29     waitKey(0);                                      
30     return 0;
31 }

說(shuō)明:
1、通過(guò)imread載入一個(gè)BGR圖像。
2、將圖像沖BGR轉(zhuǎn)換成Grayscale格式:
cvtColor( image, gray_image, CV_BGR2GRAY);
cvtColor參數(shù):
a、源圖像(image)
b、目標(biāo)圖像(gray_image),用于保存轉(zhuǎn)換好的圖像。
c、指定轉(zhuǎn)換類型。

3、保存圖像
imwrite("../../images/Gray_Image.jpg", gray_image);

4、最后通過(guò)窗口顯示圖像,查看轉(zhuǎn)換效果。
namedWindow(imageName, CV_WINDOW_AUTOSIZE);
 namedWindow("Gray image", CV_WINDOW_AUTOSIZE);
 imshow(imageName, image);
 imshow("Gray image", gray_image);

結(jié)果:
posted @ 2016-07-12 07:40 canaan 閱讀(1141) | 評(píng)論 (0)編輯 收藏
目標(biāo)
學(xué)習(xí):1、使用imread載入圖像。
         2、使用namedWindow創(chuàng)建命名OpenCV窗口。
         3、使用imshow在OpenCV窗口中顯示圖像。

源碼
 1 #include <opencv2/core/core.hpp>
 2 #include <opencv2/highgui/highgui.hpp>
 3 #include <iostream>
 4 
 5 using namespace cv;
 6 using namespace std;
 7 
 8 int main(int argc, char ** argv)
 9 {
10     if (2 != argc)
11     {
12         cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
13         return -1;
14     }
15 
16     Mat image;
17     image = imread(argv[1], CV_LOAD_IMAGE_COLOR);          // Read the file
18 
19     if (!image.data)                                                                 // Check for invalid input
20     {
21         cout << "Could not open or find the image" << std::endl;
22         return -1;
23     }
24 
25     namedWindow("Display window", WINDOW_AUTOSIZE);      // Create a window for display
26     imshow("Display window", image);                                     // Show our image inside it.
27 
28     waitKey(0);                                                                       // wait for a keystroke in the window
29     return 0;
30 }

說(shuō)明
在使用OpenCV 2 的功能之前,幾乎總是要包含
1、core 部分,定義庫(kù)的基本構(gòu)建塊
2、highgui模塊,包含輸入輸出操作函數(shù)。

 #include <opencv2/core/core.hpp>
 #include <opencv2/highgui/highgui.hpp>
 #include <iostream>

還需要include<iostream>這樣更容易在console上輸出輸入。為了避免數(shù)據(jù)結(jié)構(gòu)和函數(shù)名稱與其他庫(kù)沖突,OpenCV有自己的命名空間cv。當(dāng)然為了避免在每個(gè)關(guān)鍵字前都加cv::keyword,可以在頭部導(dǎo)入該命名空間。
using namespace cv;
using namespace std;

需要在命令行輸入有效的圖像名稱。
if (2 != argc)
{
      cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
      return -1;
}
然后創(chuàng)建Mat對(duì)象用于存儲(chǔ)載入的圖像數(shù)據(jù)。
Mat image;

調(diào)用imread函數(shù)載入圖像(圖像名稱為argv[1]指定的)。第二個(gè)參數(shù)指定圖像格式。
1、CV_LOAD_IMAGE_UNCHANGED (<0) loads the image as is(including the alpha channel if present)
2、CV_LOAD_IMAGE_GRAYSCALE (0) loads the image as an intensity one
3、CV_LOAD_IMAGE_COLOR (>0) loads the image in the BGR format

image = imread(argv[1], CV_LOAD_IMAGE_COLOR);      // Read the file
如果第二個(gè)參數(shù)未指定,那么默認(rèn)為CV_LOAD_IMAGE_COLOR

為了檢查圖像是否正常載入,我們用namedWindow函數(shù)創(chuàng)建一個(gè)OpenCV窗口來(lái)顯示圖像。需要指定窗口名稱和大小。
第二個(gè)參數(shù)默認(rèn)為:WINDOW_AUTOSIZE
1、WINDOW_AUTOSIZE    只支持QT平臺(tái)。
2、WINDOW_NORMAL       QT上支持窗口調(diào)整大小。

最后在創(chuàng)建的窗口中顯示圖像
imshow("Display window", image);   
                             
     

結(jié)果
編譯執(zhí)行程序。
./DisplayImage d:\apple.jpg
posted @ 2016-07-11 07:58 canaan 閱讀(975) | 評(píng)論 (0)編輯 收藏
中國(guó) 中華 偉大 民國(guó) 民族,
如何生成所有組合(例:中國(guó),中華民族,中華民國(guó),偉大中華,偉大中華民族) 。
注意:中華民國(guó),民國(guó)中華 算一個(gè)。
posted @ 2012-11-13 11:57 canaan 閱讀(297) | 評(píng)論 (0)編輯 收藏
 
  In the Internet address family, this structure is used by Windows Sockets to specify a local or remote endpoint address to which to connect a socket. This is the form of the sockaddr structure specific to the Internet address family and can be cast to sockaddr.
1 struct sockaddr_in
2 {
3     short sin_family;             //  (16位)地址家族(即指定地址格式),應(yīng)為AF_INET。internetwork: UDP, TCP, etc.
4     unsigned short sin_port;  // (16位)端口號(hào)
5     struct in_addr sin_addr    // (32位) IP地址
6     char sin_zero[8];            // (64位) 填充,使結(jié)構(gòu)體與SOCKADDR大小相同
7 }
8 
9 總共為:128位(即16字節(jié))

 需要頭文件:winsock2.h
posted @ 2012-07-12 16:28 canaan 閱讀(1246) | 評(píng)論 (0)編輯 收藏
1 void inplace_swap(int *x, int *y)
2 {
3     *= *^ *y;
4     *= *^ *y;
5     *= *^ *y;
6 }
posted @ 2012-05-29 13:58 canaan 閱讀(1797) | 評(píng)論 (6)編輯 收藏
僅列出標(biāo)題  下一頁(yè)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费欧美日韩| 午夜视频久久久久久| 久久欧美中文字幕| 欧美一级一区| 精品成人一区| 亚洲福利在线看| 母乳一区在线观看| 亚洲人成高清| av成人免费在线| 国产精品午夜视频| 蜜臀久久99精品久久久久久9 | 久久精品理论片| 久久av免费一区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品一区二区三区av| 国产精品人人做人人爽 | 一本久久综合亚洲鲁鲁五月天| 亚洲精品女人| 国产精品久久久999| 久久亚洲私人国产精品va媚药 | 性18欧美另类| 亚洲区免费影片| 亚洲网址在线| 91久久亚洲| 制服丝袜亚洲播放| 在线观看91精品国产麻豆| 亚洲精品一二三| 国外成人性视频| 亚洲精品资源| 亚洲第一精品在线| 亚洲欧美日韩视频二区| 亚洲国产专区| 亚洲欧美日韩中文播放| 日韩一级视频免费观看在线| 欧美一区日韩一区| 亚洲色图综合久久| 蜜臀av一级做a爰片久久| 亚洲欧美三级伦理| 欧美成人免费在线| 玖玖国产精品视频| 国产精品成人一区二区三区夜夜夜 | 欧美伊人精品成人久久综合97| 久久麻豆一区二区| 亚洲欧美国产77777| 美日韩在线观看| 裸体歌舞表演一区二区| 国产精品久久婷婷六月丁香| 亚洲人成在线免费观看| 在线成人h网| 欧美在线黄色| 久久久久国产精品www| 国产欧美91| 亚洲天堂av图片| 国产精品99久久久久久有的能看 | 欧美人与禽猛交乱配| 女主播福利一区| 在线免费观看日韩欧美| 久久经典综合| 鲁大师成人一区二区三区| 国产麻豆综合| 亚洲欧美另类在线| 欧美一区二区视频网站| 国产精品一区二区你懂得| 在线性视频日韩欧美| 午夜精品久久久久久久男人的天堂 | 亚洲欧美春色| 欧美视频一二三区| 99精品欧美一区| 正在播放欧美视频| 欧美日韩一区二区视频在线观看| 亚洲精品日本| 亚洲欧美日韩一区二区三区在线观看| 欧美午夜精品久久久久久久| 99国产精品私拍| 亚洲欧美日韩在线不卡| 国产麻豆精品在线观看| 欧美一区=区| 欧美国产亚洲另类动漫| 99re在线精品| 国产精品毛片va一区二区三区| 午夜精品久久久久久99热| 久久夜色精品国产欧美乱| 亚洲国产黄色| 欧美视频精品在线观看| 亚洲欧美日本另类| 毛片av中文字幕一区二区| 亚洲国内高清视频| 欧美午夜性色大片在线观看| 午夜精品美女久久久久av福利| 久久久久综合| 一区二区免费在线观看| 国产一区二区激情| 欧美激情女人20p| 亚洲男人天堂2024| 欧美成人精品一区二区| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲国产精品一区二区第一页 | 99天天综合性| 欧美在线观看网址综合| 亚洲全黄一级网站| 国产精品中文在线| 欧美国产精品久久| 亚洲欧美日韩国产一区二区三区| 欧美1区2区3区| 亚洲欧美日韩一区二区三区在线| 在线观看亚洲视频啊啊啊啊| 国产精品海角社区在线观看| 久久久国产91| 亚洲女同性videos| 亚洲人成网站777色婷婷| 欧美在线一区二区| 一区二区三区国产| 亚洲大胆人体在线| 国产欧美日韩视频一区二区| 欧美激情精品久久久久久久变态| 欧美一区亚洲| 一区二区三欧美| 91久久久久久| 欧美激情视频给我| 久久久久久久久岛国免费| 亚洲中午字幕| 一区二区福利| 日韩视频第一页| 91久久在线视频| 韩国av一区二区三区| 国产精品老牛| 欧美小视频在线| 欧美理论电影在线播放| 免费看亚洲片| 久久午夜国产精品| 久久久精品动漫| 久久国产精品久久久| 亚洲影院高清在线| 亚洲一二三级电影| 亚洲精一区二区三区| 亚洲欧洲在线播放| 欧美国产专区| 亚洲二区三区四区| 亚洲国产美女精品久久久久∴| 欧美成人精品1314www| 久久午夜视频| 欧美电影资源| 欧美电影在线观看| 欧美国产先锋| 亚洲精品永久免费精品| 99re热这里只有精品视频| 亚洲精品国产精品国产自| 亚洲精品偷拍| 中文精品99久久国产香蕉| 亚洲特黄一级片| 亚洲欧美在线一区| 欧美在线视频导航| 久久久999成人| 欧美成人a∨高清免费观看| 欧美va亚洲va香蕉在线| 欧美福利一区二区| 欧美新色视频| 国产亚洲成av人在线观看导航| 激情久久久久久久久久久久久久久久 | 一区二区三区欧美在线| 这里只有精品电影| 欧美亚洲视频在线观看| 久久蜜桃资源一区二区老牛| 欧美成人精品在线| 国产精品99一区二区| 国产欧美日韩综合一区在线播放 | 一本色道久久精品| 亚洲视频播放| 亚洲免费在线观看| 亚洲一区二区视频在线| 亚洲一区二区高清| 久久精品国产999大香线蕉| 另类天堂视频在线观看| 亚洲三级免费电影| 亚洲欧美中日韩| 免费成人美女女| 国产精品美女在线观看| 亚洲国产精品成人| 亚洲色图制服丝袜| 快播亚洲色图| 亚洲一区二区久久| 欧美+亚洲+精品+三区| 国产精品久久久久影院亚瑟 | 久久亚洲综合色| 国产精品久久福利| 亚洲精品美女免费| 久久精品视频亚洲| 亚洲精品日韩欧美| 久久男女视频| 国产欧美日韩伦理| 日韩午夜在线| 你懂的网址国产 欧美| 亚洲午夜久久久久久久久电影院| 久久中文精品| 国产一二三精品| 香蕉久久夜色| 宅男精品视频| 欧美理论在线播放| 亚洲精品久久在线| 欧美h视频在线|