專利名稱:一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及監(jiān)控技術(shù),特別涉及一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法及裝置。
背景技術(shù):
在監(jiān)控系統(tǒng)中,云臺是一種常用的設(shè)備,它用于控制攝像機或其它設(shè)備的轉(zhuǎn)動方向(注意只能轉(zhuǎn)動,不能平移)。云臺可以承載攝像機進行水平和垂直兩個方向的轉(zhuǎn)動。 云臺內(nèi)裝兩個電動機,這兩個電動機一個負責水平方向的轉(zhuǎn)動,另一個負責垂直方向的轉(zhuǎn)動。其中,水平方向轉(zhuǎn)動的角度一般最大為350度,垂直方向轉(zhuǎn)動的角度則有45度、35度、 75度等等。水平方向轉(zhuǎn)動及垂直方向轉(zhuǎn)動的角度大小可通過限位開關(guān)進行調(diào)整。監(jiān)控系統(tǒng)的組成設(shè)備有客戶端、服務(wù)器端和監(jiān)控前端。其中監(jiān)控前端包含監(jiān)控前端編碼器、云臺和攝像機等設(shè)備,云臺和監(jiān)控前端編碼器可以設(shè)置成一體機,也可以分立。云臺通過云臺解碼器與監(jiān)控前端編碼器的串口或并口相連,來自客戶端的指令通過服務(wù)器端發(fā)送到監(jiān)控前端編碼器,再由監(jiān)控前端編碼器將指令發(fā)送給云臺來實現(xiàn)云臺控制。 常用的云臺指令有水平轉(zhuǎn)動指令:Set Pan Position,指令字為0x4B ;垂直轉(zhuǎn)動指令Set Tilt Position,指令字為0x4D。除了能夠進行轉(zhuǎn)動以外,云臺還能夠支持拉框放大功能?,F(xiàn)有云臺拉框放大功能的具體實現(xiàn)過程是用戶從客戶端發(fā)出用于進行拉框放大的指令,指定水平坐標、垂直坐標和變倍參數(shù),云臺執(zhí)行該指令,從而實現(xiàn)圖像的拉框放大。然而,不同廠家用于拉框放大的指令和該指令中所攜帶的參數(shù)各不相同,影響操作的靈活性。
發(fā)明內(nèi)容
本發(fā)明提供了一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法及裝置,以增強云臺拉框縮放時定位的精度和靈活性。本發(fā)明提供的一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法,包括接收拉框縮放指令,所述指令中攜帶的參數(shù)包括縮放區(qū)域的中心點坐標、播放窗格的長度和播放窗格的寬度;向所述拉框縮放指令對應(yīng)的云臺所控制的攝像機獲取攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離,根據(jù)所述拉框縮放指令中攜帶的參數(shù)和所述距離計算從所述播放窗格的中心點移動到所述縮放區(qū)域的中心點的轉(zhuǎn)動角度;根據(jù)計算得到的轉(zhuǎn)動角度向云臺發(fā)出轉(zhuǎn)動指令。本發(fā)明提供的一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的裝置,包括指令接收模塊、處理模塊和指令發(fā)送模塊;其中所述指令接收模塊,用于接收拉框縮放指令,并將所接收到的拉框縮放指令發(fā)送給處理模塊;所述指令中攜帶的參數(shù)包括縮放區(qū)域的中心點坐標、播放窗格的長度和播放窗格的寬度;
所述處理模塊,用于向所述拉框縮放指令對應(yīng)的云臺所控制的攝像機獲取攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離,并根據(jù)所述拉框縮放指令中攜帶的參數(shù)和所述距離計算從所述播放窗格的中心點移動到所述縮放區(qū)域的中心點的轉(zhuǎn)動角度,并根據(jù)計算得到的轉(zhuǎn)動角度生成轉(zhuǎn)動指令,將轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊;所述指令發(fā)送模塊,用于將來自處理模塊的轉(zhuǎn)動指令發(fā)送給云臺。由上述技術(shù)方案可見,本發(fā)明提供的實現(xiàn)拉框縮放的技術(shù)方案充分利用了攝像機的測距功能,通過計算從當前播放窗格的中心點移動到縮放區(qū)域的中心點的轉(zhuǎn)動角度和縮放倍數(shù),并據(jù)此向云臺發(fā)出相應(yīng)的轉(zhuǎn)動指令和變倍指令,從而通過一些常用的云臺基礎(chǔ)控制指令精確實現(xiàn)了拉框縮放功能。由于云臺基礎(chǔ)控制指令符合統(tǒng)一的標準,不受各廠家不同實現(xiàn)的限制,因此,本發(fā)明技術(shù)方案具備通用性。并且,本發(fā)明無需預(yù)先在屏幕中劃分區(qū)域,而是對用戶實際框選出的縮放區(qū)域進行縮放,增強了拉框縮放的靈活性和精確度。
圖1為本發(fā)明實施例一在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的流程示意圖;圖2為本發(fā)明實施例一在播放窗格中選擇縮放區(qū)域的示意圖;圖3為本發(fā)明實施例一拉框縮放指令中所攜帶的參數(shù)的物理意義說明圖;圖4為本發(fā)明實施例一中計算轉(zhuǎn)動角度的方法示意圖;圖5為本發(fā)明實施例二中計算轉(zhuǎn)動角度的方法示意圖;圖6為本發(fā)明一較佳實現(xiàn)拉框縮放的方法的流程示意圖;圖7為本發(fā)明一較佳實現(xiàn)拉框縮放的裝置的組成結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。本發(fā)明所述拉框縮放包括拉框放大和拉框縮小。其中拉框放大是將播放窗格中指定區(qū)域的圖像放大到整個播放窗格,拉框縮小是將播放窗格當前正在播放的圖像縮小到指定區(qū)域,播放窗格的其他區(qū)域?qū)@示之前未被顯示的圖像。本發(fā)明的主要思想是當用戶在播放窗格中框選出需要進行放大或縮小的區(qū)域 (以下簡稱縮放區(qū)域)時,客戶端通過服務(wù)器端向監(jiān)控前端編碼器發(fā)送拉框縮放指令,監(jiān)控前端編碼器借助攝像機的測距功能,計算從播放窗格的中心點移動到該縮放區(qū)域的中心點的轉(zhuǎn)動角度,據(jù)此向云臺發(fā)出水平轉(zhuǎn)動和/或垂直轉(zhuǎn)動指令,并計算縮放倍數(shù),據(jù)此向云臺發(fā)出放大指令或縮小指令,從而精確實現(xiàn)云臺攝像機的拉框縮放功能。下面通過兩個實施例對本發(fā)明進行詳細說明。實施例一圖1為本發(fā)明實施例一在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的流程示意圖。圖1涉及的設(shè)備包括客戶端、服務(wù)器端和監(jiān)控前端。其中監(jiān)控前端包含監(jiān)控前端編碼器、云臺和攝像機等設(shè)備,云臺和監(jiān)控前端編碼器可以設(shè)置成一體機,也可以分立。圖1所示流程包含步驟 101 105
步驟101 用戶通過客戶端在播放窗格中框選出縮放區(qū)域,如圖2所示??梢灶A(yù)先約定從左上往右下框選出縮放區(qū)域時,表示需要進行拉框放大,而從右下往左上框選出縮放區(qū)域時,表示需要進行拉框縮小,這樣,客戶端就能夠通過檢測用戶的拉框方向確定是進行放大還是縮小。或者,也可以在客戶端提供“拉框放大”和“拉框縮小” 的選項,當檢測到用戶選擇相應(yīng)的選項時,確定是進行放大還是縮小。步驟102 客戶端根據(jù)用戶所框選的縮放區(qū)域向服務(wù)器端發(fā)送拉框縮放指令。本步驟中,由客戶端獲取該縮放區(qū)域的中心點坐標以及長度和寬度,并按照步驟 101所述的檢測方法判斷是進行放大還是縮小,從而確定縮放指示的取值,然后,將縮放指示、縮放區(qū)域的中心點坐標、縮放區(qū)域的長度和寬度,同該播放窗格的長度和寬度一起攜帶于拉框縮放指令中發(fā)送給服務(wù)器端。這里,縮放指示指明該拉框縮放指令用于放大還是縮步驟103 服務(wù)器端將拉框縮放指令下發(fā)給監(jiān)控前端編碼器。步驟104 監(jiān)控前端編碼器接收到拉框縮放指令后,根據(jù)該指令中的參數(shù)計算轉(zhuǎn)動角度和縮放倍數(shù),并將該指令轉(zhuǎn)換成相應(yīng)的轉(zhuǎn)動指令和變倍指令。這里,轉(zhuǎn)動角度包括水平方向的轉(zhuǎn)動角度和垂直方向的轉(zhuǎn)動角度。步驟105 監(jiān)控前端編碼器向云臺發(fā)送轉(zhuǎn)動指令和/或變倍指令。步驟106 云臺根據(jù)來自監(jiān)控前端編碼器的指令進行轉(zhuǎn)動、放大/縮小,從而實現(xiàn)拉框縮放。上述步驟104的具體實現(xiàn)如下本發(fā)明中,涉及播放窗格所對應(yīng)的實際物理畫面和播放窗格所顯示的畫面這兩種不同的畫面,以下分別簡稱為播放窗格的物理畫面和播放窗格的顯示畫面,兩種畫面中的相關(guān)元素一一對應(yīng),可以通過換算進行相互轉(zhuǎn)換,本發(fā)明后續(xù)將予以詳細說明。如無特殊說明,“播放窗格”應(yīng)理解為“播放窗格所對應(yīng)的顯示畫面”。如前所述,從客戶端發(fā)出的拉框縮放指令需要攜帶以下參數(shù)縮放區(qū)域的中心點坐標、縮放區(qū)域的長度和寬度、播放窗格的長度和寬度,上述參數(shù)均為顯示畫面中的參數(shù)。 圖3為本發(fā)明實施例一拉框縮放指令中所攜帶的參數(shù)的物理意義說明圖。圖3示出的畫面為播放窗格的顯示畫面ABDC,其中包含的三對參數(shù)為midPointX、midPointY 縮放區(qū)域的中心點坐標(以播放窗格中心為原點進行計算);lengthX、IengthY 縮放區(qū)域的長度和寬度;width, height 播放窗格的長度和寬度。圖3中,E點為縮放區(qū)域的中心點,G點為播放窗格的顯示畫面的中心點,沿水平方向穿過E點的直線與沿垂直方向穿過G點的直線的交點記為F。圖4為本發(fā)明實施例一中計算轉(zhuǎn)動角度的方法示意圖。圖4示出的是播放窗格的物理畫面A’ B ’ D ’ C’,播放窗格的物理畫面的中心點為E ’,縮放區(qū)域?qū)?yīng)的物理畫面的的中心點為G’,沿水平方向穿過E’點的直線與沿垂直方向穿過G’點的直線的交點記為F’。圖 4所示物理畫面中的點A’ G’分別對應(yīng)于圖3所示顯示畫面中的點A G。圖4中的坐標系為將攝像機所在位置定義為原點,標識為0,從攝像機0點到播放窗格的物理畫面的中心E’點對應(yīng)的軸為Z軸,X軸與播放窗格的物理畫面的水平軸B’D’平行,Y軸與播放窗格的物理畫面的垂直軸A’ B’平行。圖4中其他符號的物理含義說明從攝像機0點到播放窗格當前對應(yīng)的物理畫面的中心點E’的物理距離為D,即0E’ 之間的距離。中心E,到中心G,的距離為L,即G,E,之間的距離。0E,與平面 A,B,C,D,垂直,F(xiàn),E,與 B,D,平行,G,F(xiàn),與 C,D,平行。F’ OE'的角度為ax,是攝像機需要在水平方向上轉(zhuǎn)動的角度;G’ OF’的角度為ay, 是攝像機需要在垂直方向上轉(zhuǎn)動的角度。計算ax和ay的方法如Fl F6所示Fl 獲取攝像機當前的放大倍數(shù),記為homl。F2:根據(jù)攝像機的分辨率與播放窗格的長度和寬度確定攝像機的像素點與播放窗格的像素點之間的換算關(guān)系a。假設(shè)攝像機的分辨率是800X600,播放窗格的長度和寬度是400X300,那么,播放窗格中的一個像素點就對應(yīng)攝像機的2個像素點,此時,α的取值為2。F3 獲取攝像機的像素點距離與實際物理距離之間的對應(yīng)關(guān)系β。該對應(yīng)關(guān)系是攝像機不進行任何放大的情況下,攝像機的一個固定的物理屬性,是已知的。舉例而言對于某一種特定類型的攝像機,水平相鄰的兩個像素點之間的距離對應(yīng)到實際的物理長度可能是1厘米,此時,β的取值為1厘米。垂直相鄰的兩個像素點之間的距離對應(yīng)到實際的物理長度可能與水平的情況不同,可以參照上述方法進行獲取。F4 計算角度ax。由于0E,垂直于平面A,B,C,D,,因此,角0E,F(xiàn),是直角,三角形0E,F(xiàn),是直角三角形,關(guān)系式 Sin (ax) /Cos (ax) = F,Ε,/OE,成立。關(guān)于0Ε,和F,Ε,的計算攝像機支持測距功能,攝像機中心0點到播放窗格對應(yīng)的物理畫面的中心點的距離0Ε’可以由攝像機通過測距獲知,并提供給監(jiān)控前端編碼器。FE的長度可以根據(jù)G點和 E點的坐標計算得到,此時,計算得到的是FE在顯示畫面中的顯示距離。該顯示距離需要按照公式“物理距離=顯示距離XhomlX α X β ”轉(zhuǎn)換為實際的物理距離F’ Ε’,才能與0Ε, 的計量單位相匹配。確定0Ε,和 F,Ε,后,就可以根據(jù) Sin (ax) /Cos (ax) = F,Ε,/0Ε,,計算出 ax。F5 計算角度ay。由于G,F(xiàn),與F,Ε,垂直,而0Ε,與G,F(xiàn),垂直,故G,F(xiàn),與平面OF,Ε,垂直,從而得出G,F(xiàn),與F,0垂直,所以G,F(xiàn),0的角度為90度,三角形G,F(xiàn),0為直角三角形,關(guān)系式 Sin (ay) /Cos (ay) = G,F(xiàn),/OF,成立。另外,0E,與平面A,B,C,D,垂直,三角形0E,F(xiàn),是直角三角形,已知0E,和F,E,,
可以根據(jù)勾股定理計算得到OF’。GF在屏幕中的顯示距離可以根據(jù)G點和E點的坐標計算得到,并換算成GF的實際物理長度G’ F’。確定G,F(xiàn),和0F,后,就可以根據(jù)Sin (ay)/Cos (ay) = G,F(xiàn),/0F,,可以計算出ay。F6:監(jiān)控前端編碼器向云臺發(fā)送轉(zhuǎn)動指令,請求云臺在水平方向上移動角度ax, 在垂直方向上移動角度ay。
F7 云臺接收到轉(zhuǎn)動指令,驅(qū)動內(nèi)部機械裝置(比如電機)在水平方向上移動角度 ax,在垂直方向上移動角度ay。說明移動角度為正,則正向轉(zhuǎn)動;移動角度為負,則反向轉(zhuǎn)動。計算放大或縮小倍數(shù)的方法由于在框選縮放區(qū)域時,很難保證縮放區(qū)域的長寬比例與播放窗格的長寬比例相等,因此,在計算縮放倍數(shù)時需要確定以長度還是寬度為準??梢灶A(yù)先約定計算縮放倍數(shù)的依據(jù),例如可以預(yù)先約定以長度為準或者以寬度為準,也可以約定以縮放區(qū)域的長度和寬度中的較長者為準,或者以較短者為準。本實施例中,假設(shè)以縮放區(qū)域的長度和寬度中的較長者為準。假定IengthX > = lengthy,則以 IengthX 為準,具體地當縮放指示指明需要進行放大時,放大倍數(shù)=width/lengthX當縮放指示指明需要進行縮小時,縮小倍數(shù)=lengthX/width確定縮放倍數(shù)后,如果縮放指示指明需要進行放大,則監(jiān)控前端編碼器向云臺發(fā)送放大指令,將選定的區(qū)域擴展到整個播放窗格;如果縮放指示指明需要進行縮小,則監(jiān)控前端編碼器向云臺發(fā)送縮小指令,將播放窗格當前正在播放的圖像縮小到選定的區(qū)域,播放窗格的其他區(qū)域?qū)@示之前未被顯示的圖像。實施例二 作為拉框縮放的一個擴展應(yīng)用,用戶將鼠標移動到播放窗格的某一個位置,并點擊一下,采用本發(fā)明提供的技術(shù)方案可以控制云臺將鼠標所在的位置移動到播放窗格中心,從而實現(xiàn)播放中心點的移動,對所播放的圖像不進行放大或縮小。該實施例中,客戶端、服務(wù)器端、監(jiān)控前端編碼器和云臺之間的指令傳送流程與實施例一中的圖1相同,區(qū)別在于在步驟101,用戶在播放窗格中需要移動到中心的位置上點擊;在步驟102,客戶端發(fā)送給服務(wù)器端的拉框縮放指令中,僅攜帶參數(shù)用戶所點擊的位置的坐標(相當于縮放區(qū)域的中心點坐標)以及播放窗格的長度和寬度;在步驟104,監(jiān)控前端編碼器接收到拉框縮放指令后,僅根據(jù)該指令中的參數(shù)計算轉(zhuǎn)動角度,無需計算縮放倍數(shù);在步驟105 監(jiān)控前端編碼器無需向云臺發(fā)送變倍指令;在步驟106 云臺無需對圖像進行放大或縮小處理。本實施例在步驟104計算轉(zhuǎn)動角度的具體實現(xiàn)如下從客戶端發(fā)出的拉框縮放指令中攜帶的參數(shù)表示為PointX.PointY 用戶所點擊的位置(以下稱為G點)的坐標(以窗格中心為原點進行計算);width、height 播放窗格的長度和寬度。圖5為本發(fā)明實施例二中計算轉(zhuǎn)動角度的方法示意圖。圖5的坐標系以及各符號的物理含義與圖4相同,在此不再贅述。按照與實施例一相同的方法,利用攝像機的測距功能,可以計算出從播放窗格的物理畫面的當前中心點移動到G’點需要轉(zhuǎn)動的角度ax和 ay,監(jiān)控前端編碼器根據(jù)計算得到的轉(zhuǎn)動角度向云臺發(fā)出相應(yīng)的轉(zhuǎn)動指令即可實現(xiàn)屏幕中心的移動。
基于本發(fā)明主要思想以及上述實施例,本發(fā)明提出了一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法,其流程圖如圖6所示。該方法可以應(yīng)用于監(jiān)控前端編碼器,該方法包括以下步驟步驟601 接收拉框縮放指令,該指令中攜帶的參數(shù)包括縮放區(qū)域的中心點坐標、播放窗格的長度和播放窗格的寬度。當僅采用本發(fā)明技術(shù)方案實現(xiàn)播放中心點的移動時,拉框縮放指令中攜帶上述參數(shù)即可。當采用本發(fā)明技術(shù)方案實現(xiàn)拉框縮放時,該指令中還需要攜帶參數(shù)縮放指示、縮放區(qū)域的長度、縮放區(qū)域的寬度;其中,縮放指示指明所述拉框縮放指令用于放大還是縮小。步驟602 向所述拉框縮放指令對應(yīng)的云臺所控制的攝像機獲取攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離,根據(jù)上述參數(shù)和攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離計算從播放窗格的中心點移動到縮放區(qū)域的中心點的轉(zhuǎn)動角度。本步驟中,如果拉框縮放指令中還攜帶參數(shù)縮放指示、縮放區(qū)域的長度、縮放區(qū)域的寬度,那么,需要進一步根據(jù)縮放區(qū)域的長度、縮放區(qū)域的寬度、播放窗格的長度和播放窗格的寬度計算縮放倍數(shù)。具體而言計算縮放倍數(shù)的方式包括預(yù)先約定計算縮放倍數(shù)的依據(jù);根據(jù)該計算縮放倍數(shù)的依據(jù)確定以長度為準計算縮放倍數(shù)還是以寬度為準計算縮放倍數(shù);如果以長度為準,那么,當縮放指示指明該拉框縮放指令用于放大時,放大倍數(shù)= 播放窗格的長度/縮放區(qū)域的長度;當縮放指示指明該拉框縮放指令用于縮小時,縮小倍數(shù)=縮放區(qū)域的長度/播放窗格的長度;如果以寬度為準,那么,當縮放指示指明該拉框縮放指令用于放大時,放大倍數(shù)= 播放窗格的寬度/縮放區(qū)域的寬度;當縮放指示指明該拉框縮放指令用于縮小時,縮小倍數(shù)=縮放區(qū)域的寬度/播放窗格的寬度。步驟603 根據(jù)計算得到的轉(zhuǎn)動角度向云臺發(fā)出轉(zhuǎn)動指令。本步驟中,如果水平方向的轉(zhuǎn)動角度不為0,則向云臺發(fā)出水平轉(zhuǎn)動指令,指令參數(shù)為計算得到的水平方向的轉(zhuǎn)動角度;如果垂直方向的轉(zhuǎn)動角度不為0,則向云臺發(fā)出垂直轉(zhuǎn)動指令,指令參數(shù)為計算得到的垂直方向的轉(zhuǎn)動角度。如果步驟602中計算得到的縮放倍數(shù)不為0,那么,本步驟中,需要進一步進行如下處理如果縮放指示指明該拉框縮放指令用于放大,則向云臺發(fā)出放大指令,指令參數(shù)為計算得到的縮放倍數(shù);如果縮放指示指明該拉框縮放指令用于縮小,則向云臺發(fā)出縮小指令,指令參數(shù)為計算得到的縮放倍數(shù)。對應(yīng)于上述方法,本發(fā)明還提供了一種實現(xiàn)拉框縮放的裝置,如圖7所示。該裝置包括指令接收模塊710、處理模塊720和指令發(fā)送模塊730 ;其中指令接收模塊710,用于接收拉框縮放指令,并將所接收到的拉框縮放指令發(fā)送給處理模塊720 ;該指令中攜帶的參數(shù)包括縮放區(qū)域的中心點坐標、播放窗格的長度和播放窗格的寬度;處理模塊720,用于向所述拉框縮放指令對應(yīng)的云臺所控制的攝像機獲取攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離,并根據(jù)拉框縮放指令中攜帶的參數(shù)和所述距離計算從播放窗格的中心點移動到縮放區(qū)域的中心點的轉(zhuǎn)動角度,并根據(jù)計算得到的轉(zhuǎn)動角度生成轉(zhuǎn)動指令,將轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊730 ;指令發(fā)送模塊730,用于將來自處理模塊710的轉(zhuǎn)動指令發(fā)送給云臺。較佳地,所述指令接收模塊710,進一步用于接收攜帶有參數(shù)縮放指示、縮放區(qū)域的長度、縮放區(qū)域的寬度的拉框縮放指令;其中,縮放指示指明所述拉框縮放指令用于放大還是縮小;所述處理模塊720,進一步用于根據(jù)所述縮放區(qū)域的長度、縮放區(qū)域的寬度、播放窗格的長度和播放窗格的寬度計算縮放倍數(shù),在縮放倍數(shù)不為0時,所述處理模塊還用于在縮放指示指明所述拉框縮放指令用于放大時,生成指令參數(shù)為所述縮放倍數(shù)的放大指令,將所生成的放大指令發(fā)送給指令發(fā)送模塊730,并用于在縮放指示指明所述拉框縮放指令用于縮小時,生成指令參數(shù)為所述縮放倍數(shù)的縮小指令,將所生成的縮小指令發(fā)送給指令發(fā)送模塊730 ;所述指令發(fā)送模塊730,進一步用于將來自處理模塊的放大指令或縮小指令發(fā)送
給云臺。較佳地,將攝像機所在的位置記為0,播放窗格對應(yīng)的物理畫面的中心點記為Ε’, 攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離記為0Ε’,物理畫面中縮放區(qū)域的中心點記為G’,將沿水平方向穿過Ε’點的直線與沿垂直方向穿過G’點的直線的交點記為F’, 物理畫面中的點Ε’、F’、G’對應(yīng)到播放窗格的顯示畫面中為Ε、F、G,F(xiàn)E表示F點與E點之間的顯示距離,GF表示G點與F點之間的顯示距離,OF’表示0點與F’點之間的物理距離; 所述處理模塊計算得到的轉(zhuǎn)動角度包括水平方向的轉(zhuǎn)動角度和垂直方向的轉(zhuǎn)動角度,分另Ili己為ax禾口 ay ;所述處理模塊720還用于執(zhí)行以下操作獲取攝像機當前的放大倍數(shù),記為homl ;根據(jù)攝像機的分辨率與播放窗格的長度和寬度確定攝像機的像素點與播放窗格的像素點之間的換算關(guān)系α ;獲取攝像機的像素點距離與實際物理距離之間的對應(yīng)關(guān)系β ;根據(jù)G點和E點的坐標計算FE和GF,并按照公式物理距離=顯示距離XZoomlX α X β,將FE和GF轉(zhuǎn)換為相應(yīng)的物理距離,分別記為F,Ε,和G,F(xiàn),;按照OF,2 = (F,Ε,)2+0Ε2 計算 OF,;按照Sin (ax)/Cos (ax) = F,Ε,/0E,計算 ax,按照 Sin (ay)/Cos (ay) =G,F(xiàn),/0F, 計算ay ο在水平方向的轉(zhuǎn)動角度不為0時,所述處理模塊720還用于生成指令參數(shù)為所述水平方向的轉(zhuǎn)動角度的水平轉(zhuǎn)動指令,并將所生成的水平轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊 730 ;在垂直方向的轉(zhuǎn)動角度不為0時,所述處理模塊720還用于生成指令參數(shù)為所述垂直方向的轉(zhuǎn)動角度的垂直轉(zhuǎn)動指令,并將所生成的垂直轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊730 ;所述指令發(fā)送模塊730,還用于將接收自處理模塊的水平轉(zhuǎn)動指令或垂直轉(zhuǎn)動指令發(fā)送給云臺。較佳地,在計算縮放倍數(shù)時,所述處理模塊720還用于執(zhí)行以下操作
根據(jù)預(yù)先約定的計算縮放倍數(shù)的依據(jù)確定以長度為準計算縮放倍數(shù)還是以寬度為準計算縮放倍數(shù);在以長度為準的情況下,當縮放指示指明所述拉框縮放指令用于放大時,處理模塊720按照放大倍數(shù)=播放窗格的長度/縮放區(qū)域的長度,計算放大倍數(shù);當縮放指示指明所述拉框縮放指令用于縮小時,處理模塊720按照縮小倍數(shù)=縮放區(qū)域的長度/播放窗格的長度,計算縮小倍數(shù);在以寬度為準的情況下,當縮放指示指明所述拉框縮放指令用于放大時,處理模塊720按照放大倍數(shù)=播放窗格的寬度/縮放區(qū)域的寬度,計算放大倍數(shù);當縮放指示指明所述拉框縮放指令用于縮小時,處理模塊720按照縮小倍數(shù)=縮放區(qū)域的寬度/播放窗格的寬度,計算縮小倍數(shù)。由上述實施例可見,本發(fā)明提供的實現(xiàn)拉框縮放的技術(shù)方案充分利用了攝像機的測距功能,通過計算從當前播放窗格的中心點移動到縮放區(qū)域的中心點的轉(zhuǎn)動角度和縮放倍數(shù),并據(jù)此向云臺發(fā)出相應(yīng)的轉(zhuǎn)動指令和變倍指令,從而通過一些常用的云臺基礎(chǔ)控制指令精確實現(xiàn)了拉框縮放功能。由于云臺基礎(chǔ)控制指令符合統(tǒng)一的標準,不受各廠家不同實現(xiàn)的限制,因此,本發(fā)明技術(shù)方案具備通用性。并且,本發(fā)明無需預(yù)先在屏幕中劃分區(qū)域,而是對用戶實際框選出的縮放區(qū)域進行縮放,增強了拉框縮放的靈活性和精確度。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法,其特征在于,包括接收拉框縮放指令,所述指令中攜帶的參數(shù)包括縮放區(qū)域的中心點坐標、播放窗格的長度和播放窗格的寬度;向所述拉框縮放指令對應(yīng)的云臺所控制的攝像機獲取攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離,根據(jù)所述拉框縮放指令中攜帶的參數(shù)和所述距離計算從所述播放窗格的中心點移動到所述縮放區(qū)域的中心點的轉(zhuǎn)動角度; 根據(jù)計算得到的轉(zhuǎn)動角度向云臺發(fā)出轉(zhuǎn)動指令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述指令中攜帶的參數(shù)進一步包括縮放指示、縮放區(qū)域的長度、縮放區(qū)域的寬度;其中,縮放指示指明所述拉框縮放指令用于放大還是縮?。辉谟嬎戕D(zhuǎn)動角度時,進一步包括根據(jù)縮放區(qū)域的長度、縮放區(qū)域的寬度、播放窗格的長度和播放窗格的寬度計算縮放倍數(shù);如果計算得到的縮放倍數(shù)不為0,該方法進一步包括如果縮放指示指明所述拉框縮放指令用于放大,則向云臺發(fā)出放大指令,指令參數(shù)為所述縮放倍數(shù);如果縮放指示指明所述拉框縮放指令用于縮小,則向云臺發(fā)出縮小指令,指令參數(shù)為所述縮放倍數(shù)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于 所述轉(zhuǎn)動角度包括水平方向的轉(zhuǎn)動角度和垂直方向的轉(zhuǎn)動角度,分別記為ax和ay ;計算轉(zhuǎn)動角度的方式包括獲取攝像機當前的放大倍數(shù),記為homl ;根據(jù)攝像機的分辨率與播放窗格的長度和寬度確定攝像機的像素點與播放窗格的像素點之間的換算關(guān)系α ;獲取攝像機的像素點距離與實際物理距離之間的對應(yīng)關(guān)系β ; 將攝像機所在的位置記為0,播放窗格對應(yīng)的物理畫面的中心點記為Ε’,攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離記為0Ε’,物理畫面中縮放區(qū)域的中心點記為G’, 將沿水平方向穿過Ε’點的直線與沿垂直方向穿過G’點的直線的交點記為F’,物理畫面中的點Ε’、F’、G’對應(yīng)到播放窗格的顯示畫面中為Ε、F、G,F(xiàn)E表示F點與E點之間的顯示距離,GF表示G點與F點之間的顯示距離,OF’表示0點與F’點之間的物理距離;根據(jù)G點和E點的坐標計算FE和GF,并按照公式物理距離=顯示距離XZoomlX α X β,將FE和GF轉(zhuǎn)換為相應(yīng)的物理距離,分別記為F,Ε,和G,F(xiàn),; 按照 OF,2 = (F,Ε,)2+0Ε,2 計算 OF,;按照 Sin (ax) /Cos (ax) = F,Ε,/OE,計算 ax,按照 Sin (ay) /Cos (ay) = G,F(xiàn),/OF,計算ay。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述根據(jù)計算得到的轉(zhuǎn)動角度向云臺發(fā)出轉(zhuǎn)動指令包括如果水平方向的轉(zhuǎn)動角度不為0,則向云臺發(fā)出水平轉(zhuǎn)動指令,指令參數(shù)為所述水平方向的轉(zhuǎn)動角度;如果垂直方向的轉(zhuǎn)動角度不為0,則向云臺發(fā)出垂直轉(zhuǎn)動指令,指令參數(shù)為所述垂直方向的轉(zhuǎn)動角度。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于該方法進一步包括預(yù)先約定計算縮放倍數(shù)的依據(jù); 計算縮放倍數(shù)的方式包括根據(jù)所述計算縮放倍數(shù)的依據(jù)確定以長度為準計算縮放倍數(shù)還是以寬度為準計算縮放倍數(shù);如果以長度為準,那么,當縮放指示指明所述拉框縮放指令用于放大時,放大倍數(shù)=播放窗格的長度/縮放區(qū)域的長度;當縮放指示指明所述拉框縮放指令用于縮小時,縮小倍數(shù)=縮放區(qū)域的長度/播放窗格的長度;如果以寬度為準,那么,當縮放指示指明所述拉框縮放指令用于放大時,放大倍數(shù)=播放窗格的寬度/縮放區(qū)域的寬度;當縮放指示指明所述拉框縮放指令用于縮小時,縮小倍數(shù)=縮放區(qū)域的寬度/播放窗格的寬度。
6.一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的裝置,其特征在于,包括指令接收模塊、處理模塊和指令發(fā)送模塊;其中所述指令接收模塊,用于接收拉框縮放指令,并將所接收到的拉框縮放指令發(fā)送給處理模塊;所述指令中攜帶的參數(shù)包括縮放區(qū)域的中心點坐標、播放窗格的長度和播放窗格的寬度;所述處理模塊,用于向所述拉框縮放指令對應(yīng)的云臺所控制的攝像機獲取攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離,并根據(jù)所述拉框縮放指令中攜帶的參數(shù)和所述距離計算從所述播放窗格的中心點移動到所述縮放區(qū)域的中心點的轉(zhuǎn)動角度,并根據(jù)計算得到的轉(zhuǎn)動角度生成轉(zhuǎn)動指令,將轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊;所述指令發(fā)送模塊,用于將來自處理模塊的轉(zhuǎn)動指令發(fā)送給云臺。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于所述指令接收模塊,進一步用于接收攜帶有參數(shù)縮放指示、縮放區(qū)域的長度、縮放區(qū)域的寬度的拉框縮放指令;其中,縮放指示指明所述拉框縮放指令用于放大還是縮??;所述處理模塊,進一步用于根據(jù)所述縮放區(qū)域的長度、縮放區(qū)域的寬度、播放窗格的長度和播放窗格的寬度計算縮放倍數(shù),在縮放倍數(shù)不為0時,所述處理模塊還用于在縮放指示指明所述拉框縮放指令用于放大時,生成指令參數(shù)為所述縮放倍數(shù)的放大指令,將所生成的放大指令發(fā)送給指令發(fā)送模塊,并用于在縮放指示指明所述拉框縮放指令用于縮小時,生成指令參數(shù)為所述縮放倍數(shù)的縮小指令,將所生成的縮小指令發(fā)送給指令發(fā)送模塊;所述指令發(fā)送模塊,進一步用于將來自處理模塊的放大指令或縮小指令發(fā)送給云臺。
8.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于將攝像機所在的位置記為0,播放窗格對應(yīng)的物理畫面的中心點記為E’,攝像機到播放窗格對應(yīng)的物理畫面的中心點的距離記為0E’,物理畫面中縮放區(qū)域的中心點記為G’, 將沿水平方向穿過E’點的直線與沿垂直方向穿過G’點的直線的交點記為F’,物理畫面中的點E’、F’、G’對應(yīng)到播放窗格的顯示畫面中為E、F、G,F(xiàn)E表示F點與E點之間的顯示距離,GF表示G點與F點之間的顯示距離,OF’表示0點與F’點之間的物理距離;所述處理模塊計算得到的轉(zhuǎn)動角度包括水平方向的轉(zhuǎn)動角度和垂直方向的轉(zhuǎn)動角度,分別記為ax和ay;所述處理模塊還用于執(zhí)行以下操作獲取攝像機當前的放大倍數(shù),記為homl ;根據(jù)攝像機的分辨率與播放窗格的長度和寬度確定攝像機的像素點與播放窗格的像素點之間的換算關(guān)系α ;獲取攝像機的像素點距離與實際物理距離之間的對應(yīng)關(guān)系β ;根據(jù)G點和E點的坐標計算FE和GF,并按照公式物理距離=顯示距離XZoomlX α X β,將FE和GF轉(zhuǎn)換為相應(yīng)的物理距離,分別記為F,Ε,和G,F(xiàn),;按照 OF,2 = (F,Ε,)2+0Ε,2 計算 OF,;按照 Sin (ax) /Cos (ax) = F,Ε,/OE,計算 ax,按照 Sin (ay) /Cos (ay) = G,F(xiàn),/OF,計算ay。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于在水平方向的轉(zhuǎn)動角度不為O時,所述處理模塊還用于生成指令參數(shù)為所述水平方向的轉(zhuǎn)動角度的水平轉(zhuǎn)動指令,并將所生成的水平轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊;在垂直方向的轉(zhuǎn)動角度不為O時,所述處理模塊還用于生成指令參數(shù)為所述垂直方向的轉(zhuǎn)動角度的垂直轉(zhuǎn)動指令,并將所生成的垂直轉(zhuǎn)動指令發(fā)送給指令發(fā)送模塊;所述指令發(fā)送模塊,還用于將接收自處理模塊的水平轉(zhuǎn)動指令或垂直轉(zhuǎn)動指令發(fā)送給石臺。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于在計算縮放倍數(shù)時,所述處理模塊還用于執(zhí)行以下操作根據(jù)預(yù)先約定的計算縮放倍數(shù)的依據(jù)確定以長度為準計算縮放倍數(shù)還是以寬度為準計算縮放倍數(shù);在以長度為準的情況下,當縮放指示指明所述拉框縮放指令用于放大時,處理模塊按照放大倍數(shù)=播放窗格的長度/縮放區(qū)域的長度,計算放大倍數(shù);當縮放指示指明所述拉框縮放指令用于縮小時,處理模塊按照縮小倍數(shù)=縮放區(qū)域的長度/播放窗格的長度,計算縮小倍數(shù);在以寬度為準的情況下,當縮放指示指明所述拉框縮放指令用于放大時,處理模塊按照放大倍數(shù)=播放窗格的寬度/縮放區(qū)域的寬度,計算放大倍數(shù);當縮放指示指明所述拉框縮放指令用于縮小時,處理模塊按照縮小倍數(shù)=縮放區(qū)域的寬度/播放窗格的寬度,計算縮小倍數(shù)。
全文摘要
本發(fā)明提供了一種在監(jiān)控系統(tǒng)中實現(xiàn)拉框縮放的方法和裝置,借助攝像機的測距功能,計算從播放窗格的中心點移動到縮放區(qū)域的中心點的轉(zhuǎn)動角度以及縮放倍數(shù),并據(jù)此向云臺發(fā)出轉(zhuǎn)動指令和/或變倍指令,從而精確實現(xiàn)了云臺攝像機的拉框縮放功能。
文檔編號H04N7/18GK102291571SQ20111022977
公開日2011年12月21日 申請日期2011年8月11日 優(yōu)先權(quán)日2011年8月11日
發(fā)明者黃軍 申請人:杭州華三通信技術(shù)有限公司