亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

魚眼圖像處理方法、計算機裝置及計算機可讀存儲介質與流程

文檔序號:11201101閱讀:481來源:國知局
魚眼圖像處理方法、計算機裝置及計算機可讀存儲介質與流程

本發(fā)明涉及圖像處理領域,尤其涉及一種針對通過帶有魚眼鏡頭的拍攝設備所拍攝獲得的圖像進行處理的方法、實現這種方法的計算機裝置以及計算機可讀存儲介質。



背景技術:

隨著拍攝設備的發(fā)展,人們廣泛應用各種廣角鏡頭拍攝照片,其中魚眼鏡頭是一種具有極寬視角的廣角鏡頭。使用魚眼鏡頭拍攝的照片通常被稱為魚眼圖像,由于魚眼圖像的視場角大,單個魚眼相機可以獲取180度視場信息的內容,該特性使魚眼鏡頭越來越多的應用于自動駕駛、全景監(jiān)控、虛擬現實等領域。

然而,由于魚眼圖像本身存在較大畸變,因此需要通過適當的映射關系及畸變矯正算法對魚眼圖像進行矯正,輸出符合人體視覺特性的非畸變圖像。受限于映射關系的不確定性以及畸變矯正算法對數據源的要求,對魚眼圖像進行矯正時,目前的處理方法大多是采用緩存多行原始像素或直接從整幅圖像中獲取對應像素點進行畸變矯正運算,但這種方法導致圖像處理電路面積大,動態(tài)隨機存儲器的讀寫效率低的問題。

具體的,現在對魚眼圖像的處理大多采用緩存多行原始像素或直接從整幅圖像中獲取對應像素點進行畸變矯正運算,對于多行原始數據緩存方案,必須存儲足夠多行的圖像數據才能確保即畸變矯正過程中能拿到正確的數據進行運算,這樣需要靜態(tài)存儲器sram的面積非常大以滿足數據存儲的要求,并且需要采用滾動的方式或按行重復加載部分數據的方式進行靜態(tài)存儲器sram數據的更新,操作復雜、引入過多無效動態(tài)隨機存儲器的帶寬。除此之外,該方法中使用的靜態(tài)存儲器sram深度受圖像規(guī)格制約,不便于芯片規(guī)格的升級換代。而直接從整幅圖像中獲取對應像素點進行畸變矯正運算的方法,獲取數據時地址跳變大且不連續(xù),動態(tài)隨機存儲器效率低、同樣引入過多無效的動態(tài)隨機存儲器帶寬。

而目前對魚眼圖像處理的方式中,較好的做法是將獲取的魚眼圖像進行分塊處理,魚眼圖像分塊處理的一大瓶頸就是前面提及的動態(tài)隨機存儲器的輸入帶寬過大,不利于魚眼圖像處理電路的硬件實現,特別不利于魚眼圖像處理電路的硬件在系統級芯片上(soc)的集成。



技術實現要素:

本發(fā)明的主要目的是提供一種能夠減小圖像處理電路面積且有利于電路實現的魚眼圖像處理方法。

本發(fā)明的另一目的是提供一種能夠實現上述魚眼圖像處理方法的計算機裝置。

本發(fā)明的再一目的是提供一種能夠實現上述魚眼圖像處理方法的計算機可讀存儲介質。

為了實現上述的主要目的,本發(fā)明提供的魚眼圖像處理方法包括確定下一感興趣區(qū)域圖像的區(qū)域以及當前感興趣區(qū)域圖像的區(qū)域,并且,判斷下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像是否存在重疊區(qū)域,如確定存在重疊區(qū)域,則將重疊區(qū)域的數據從備份存儲器存儲到畸變矯正數據源存儲器中;判斷下一感興趣區(qū)域圖像是否包含重疊區(qū)域以外的圖像,如是,則將重疊區(qū)域以外的圖像的數據存儲到備份存儲器以及畸變矯正數據源存儲器中;對畸變矯正數據源存儲器中存儲的圖像數據進行矯正。

由上述方案可見,由于對魚眼圖像分塊處理時,不同的感興趣區(qū)域存在重疊的圖像,通過將重疊區(qū)域圖像的數據直接從備份存儲器存儲到畸變矯正數據源存儲器中,避免了通過動態(tài)隨機存儲器將下一感興趣區(qū)域圖像的數據完整的寫入到畸變矯正數據源存儲器中,從而大大減少了數據的寫入量,不需要占用大量的動態(tài)隨機存儲器的帶寬資源,圖像處理電路面積大幅度減小,有利于圖像處理電路的實現,尤其是有利于魚眼圖像處理電路的硬件在系統級芯片上的集成。

一個優(yōu)選的方案是,將重疊區(qū)域的數據從備份存儲器中存儲到畸變矯正數據源存儲器后,將重疊區(qū)域的數據從畸變矯正數據源存儲器存儲到備份存儲器中。

由此可見,將重疊區(qū)域的數據從畸變矯正數據源存儲器存儲到備份存儲器可以確保備份存儲器以及畸變矯正數據源存儲器所存儲的重疊區(qū)域的數據一致性,有利于保證后續(xù)重疊區(qū)域數據的正確消除。

進一步的方案是,畸變矯正數據源存儲器包括第一畸變矯正數據源存儲器以及第二畸變矯正數據源存儲器;第一畸變矯正數據源存儲器與第二畸變矯正數據源存儲器交替使用。

具體的,處理下一感興趣區(qū)域圖像時,將重疊區(qū)域的數據從備份存儲器中存儲到畸變矯正數據源存儲器后,將重疊區(qū)域的數據從畸變矯正數據源存儲器存儲到備份存儲器中包括:將重疊區(qū)域的數據從備份存儲器中存儲到第二畸變矯正數據源存儲器后,將重疊區(qū)域的數據從第二畸變矯正數據源存儲器存儲到備份存儲器中;繼續(xù)處理下一塊當前感興趣區(qū)域圖像時,將重疊區(qū)域的數據從備份存儲器中存儲到畸變矯正數據源存儲器后,將重疊區(qū)域的數據從畸變矯正數據源存儲器存儲到備份存儲器中包括:將重疊區(qū)域的數據從備份存儲器中存儲到第一畸變矯正數據源存儲器后,將重疊區(qū)域的數據從第一畸變矯正數據源存儲器存儲到備份存儲器中。

可見,第一畸變矯正數據源存儲器與第二畸變矯正數據源存儲器組成乒乓靜態(tài)存儲器sram,交替的存儲需要處理的感興趣區(qū)域的圖像的數據,這樣,相比起僅使用一個畸變矯正數據源存儲器,數據的擦寫操作所占用大量時間,使用乒乓靜態(tài)存儲器sram可以大大提高圖像的處理效率。

更進一步的方案是,對畸變矯正數據源存儲器中存儲的圖像數據進行矯正包括:對當前感興趣區(qū)域圖像進行矯正時,對第二畸變矯正數據源存儲器中存儲的圖像數據進行加載;對下一塊當前感興趣區(qū)域圖像進行矯正時,對第一畸變矯正數據源存儲器中存儲的圖像數據進行加載。

由此可見,由于兩個畸變矯正數據源存儲器是交替使用的,因此對當前感興趣區(qū)域的圖像進行處理時,需要交替的分別使用兩個畸變矯正數據源存儲器的數據進行圖像矯正。

更進一步的方案是,重疊區(qū)域以外的圖像包括上部區(qū)域、間隙區(qū)域以及下部區(qū)域;將重疊區(qū)域以外的圖像的數據存儲到備份存儲器以及畸變矯正數據源存儲器包括:將上部區(qū)域、間隙區(qū)域以及下部區(qū)域的數據均寫入到備份存儲器以及畸變矯正數據源存儲器。并且,上部區(qū)域、間隙區(qū)域以及下部區(qū)域的數據是被依次寫入的。

可見,依次寫入非重疊區(qū)域的多個部分,可以避免非重疊區(qū)域圖像數據遺漏寫入的問題。

為了實現上述的另一目的,本發(fā)明還提供的計算機裝置包括處理器以及存儲器,存儲器存儲有計算機程序,計算機程序被處理器執(zhí)行時實現上述的魚眼圖像處理方法的各個步驟。

為了實現上述的再一目的,本發(fā)明還提供的計算機可讀存儲介質上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現上述魚眼圖像處理方法的各個步驟。

附圖說明

圖1是本發(fā)明魚眼圖像處理方法實施例的流程圖。

圖2是本發(fā)明魚眼圖像處理方法實施例所處理的下一感興趣區(qū)域與當前感興趣區(qū)域的示意圖。

圖3是本發(fā)明魚眼圖像處理方法實施例中感興趣區(qū)域數據在存儲器中存儲流程示意圖。

圖4是本發(fā)明魚眼圖像處理方法實施例中感興趣區(qū)域數據在動態(tài)隨機存儲器加載時的示意圖。

圖5是實現本發(fā)明魚眼圖像處理方法實施例電路框圖。

以下結合附圖及實施例對本發(fā)明作進一步說明。

具體實施方式

本發(fā)明的魚眼圖像處理方法應用在各種拍攝設備上,如照相機、監(jiān)控設備等,也可以應用在具有拍照功能的移動設備上,如智能手機、平板電腦或者行車記錄儀等電子設備上。本發(fā)明的計算機裝置可以是上述的電子設備,計算機可讀存儲介質可以是具有數據存儲功能的各種存儲介質,包括但不限于flash、eeprom等非易失性存儲器。

魚眼圖像處理方法實施例:

對魚眼圖像進行處理時,首先將原始獲得的魚眼圖像進行分塊,也就是劃分成多個感興趣區(qū)域(roi),每一個感興趣區(qū)域就是一個分塊,也就是一個需要處理的圖像塊。

參見圖1,對圖像進行處理時,首先執(zhí)行步驟s1,確定下一感興趣區(qū)域的圖像與當前感興趣區(qū)域的圖像的區(qū)域,其中,下一感興趣區(qū)域是下一塊需要進行畸變校正的感興趣區(qū)域,當前感興趣區(qū)域是當前進行畸變校正的感興趣區(qū)域。

由于采用分塊方式處理魚眼圖像時,相鄰的兩塊圖像很可能存在重疊區(qū)域的情況,相鄰的兩塊感興趣區(qū)域出現重疊的情形有很多種,圖2顯示了其中幾種常見的情況。其中,圖中各種情況下,a、b兩點分別是為當前感興趣區(qū)域圖像的左上角、右下角的頂點,c、d兩點分別為下一感興趣區(qū)域圖像的左上角、右下角的頂點,從圖2可見,前面五種情況下,下一感興趣區(qū)域圖像與當前感興趣圖像存在重疊區(qū)域,例如,圖中的e、f兩點分別為重疊區(qū)域圖像的左上角、右下角的頂點。

為了避免相鄰的兩塊感興趣區(qū)域圖像的重疊區(qū)域圖像數據被重復讀取到靜態(tài)存儲器中,本發(fā)明的方案是設置一個備份使用的靜態(tài)存儲器sram,并且將重疊區(qū)域圖像的數據寫入到該備份存儲器中,待處理下一感興趣區(qū)域圖像的數據時,也就是對下一感興趣區(qū)域的圖像數據進行矯正時,不需要再通過動態(tài)隨機存儲器ddr加載重疊區(qū)域圖像的數據,進而提高圖像處理的效率。

當然,并不是所有的相鄰兩個感興趣區(qū)域圖像都存在重疊區(qū)域的情況,如圖2最后一種情況所示的,下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像并不存在重疊區(qū)域,因此,步驟s2中需要確定下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像是否存在重疊區(qū)域,如果存在重疊區(qū)域,則執(zhí)行步驟s3,如果不存在重疊區(qū)域,則執(zhí)行步驟s6。

步驟s3中,需要將重疊區(qū)域的數據從備份存儲器轉存到畸變矯正數據源存儲器中,本實施例中,備份存儲器是一個靜態(tài)存儲器sram,畸變矯正數據源存儲器也是靜態(tài)存儲器。由于相鄰的兩個感興趣區(qū)域圖像的重疊區(qū)域存在多種不確定性,為了實現重疊區(qū)域數據的存儲更加簡單,且硬件電路實現更加可靠,本實施例采用下面的方式確定重疊區(qū)域并且實現數據的轉存。

假設當前感興趣區(qū)域圖像的左上角、右下角的頂點分別是a、b兩點,下一感興趣區(qū)域圖像的左上角、右下角的頂點分別是c、d兩點,重疊區(qū)域的左上角、右下角的頂點分別是e、f兩點,并且a、b、c、d、e、f點的坐標分別為:a點是(x_curr_bgn,y_curr_bgn)、b點是(x_curr_end,y_curr_end)、c點是(x_next_bgn,y_next_bgn)、d點是(x_next_end,y_next_end)、e點是(x_ovl_bgn,y_ovl_bgn)、f點是(x_ovl_end,y_ovl_end)。

首先,判斷下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像是否不存在重疊區(qū)域,例如,如果出現以下任一情況出現時,均表示下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像之間不存在重疊區(qū)域:x_next_bgn≧x_curr_end,或者x_next_end≦x_curr_bgn,或者y_next_bgn≧y_curr_end,或者y_next_end≦y_curr_bgn。如確定下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像之間不存在重疊區(qū)域,則不需要進行重疊區(qū)域圖像數據的轉存操作。

如確定下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像之間存在重疊區(qū)域,則可以采用以下規(guī)則進行重疊區(qū)域的確定:

第一,比較x_curr_bgn與x_next_bgn的數值大小,數值小者為重疊區(qū)域左上角行坐標,即x_ovl_bgn=min(x_curr_bgn,x_next_bgn),特殊情況,當x_curr_bgn=x_next_bgn時,取x_ovl_bgn=x_curr_bgn。

第二,比較y_curr_bgn與y_next_bgn的數值大小,數值小者為重疊區(qū)域左上角列坐標,即y_ovl_bgn=min(y_curr_bgn,y_next_bgn),特殊情況,當y_curr_bgn=y_next_bgn時,取y_ovl_bgn=y_curr_bgn。

第三,比較x_curr_end與x_next_end的數值大小,數值小者為重疊區(qū)域右下角行坐標,即x_ovl_end=min(x_curr_end,x_next_end),特殊情況,當x_curr_end=x_next_end時,取x_ovl_end=x_curr_end。

第四,比較y_curr_end與y_next_end的數值大小,數值小者為重疊區(qū)域右下角的列坐標,即y_ovl_end=min(y_curr_end,y_next_end),特殊情況,當y_curr_end=y_next_end時,取y_ovl_end=y_curr_end。

經過上述步驟,得到重疊區(qū)域左上角、右下角坐標e(x_ovl_bgn,y_ovl_bgn)、f(x_ovl_end,y_ovl_end),進而可以確定重疊區(qū)域圖像數據總量,通過硬件電路實現數據轉存時,通過x、y兩個方向的計數器可以控制完成重疊區(qū)域圖像的數據轉存。

然后,執(zhí)行步驟s4,將重疊區(qū)域圖像的數據從畸變矯正數據源存儲器轉存至備份存儲器中,也就是將剛剛寫入到畸變矯正數據源存儲器的數據重新寫入到備份存儲器中。執(zhí)行步驟s4的目的是為了保證備份存儲器所存儲的重疊區(qū)域圖像的數據的位置與畸變矯正數據源存儲器所存儲的數據的一致。

優(yōu)選的,設置兩個畸變矯正數據源存儲器以及一個備份存儲器,兩個畸變矯正數據源存儲器均為靜態(tài)存儲器,并且組成乒乓靜態(tài)存儲器,即兩個畸變矯正數據源存儲器是交替使用的。參見圖3,假設使用“0”、“2”分別表示組成乒乓靜態(tài)存儲器的第一畸變矯正數據源存儲器以及第二畸變矯正數據源存儲器所存儲的數據,使用“1”表示備份存儲器所存儲的數據,則感興趣區(qū)域圖像的數據寫入流程如下:

第一,以感興趣區(qū)域為基本單位,寫入當前感興趣區(qū)域圖像的數據時,根據確定的當前感興趣區(qū)域圖像的大小,向第一畸變矯正數據源存儲器以及備份存儲器寫入重疊區(qū)域圖像的數據,也就是進行“0”、“1”的數據寫入,如圖3最左側所示,此時第一畸變矯正數據源存儲器以及備份存儲器所存儲的數據是相同的。

相鄰感興趣區(qū)域圖像的重疊區(qū)域圖像數據轉存包括以下四個階段:首先,第一畸變矯正數據源存儲器的數據解析階段,即取出第一畸變矯正數據源存儲器所存儲的數據“0”,并作為進行魚眼圖像分塊處理的后續(xù)操作使用,即作為矯正的數據源使用。

第二,根據確定的第一畸變矯正數據源存儲器的數據與備份存儲器的數據的重疊區(qū)域,從備份存儲器中將重疊區(qū)域圖像的數據搬存儲到第二畸變矯正數據源存儲器中,也就是從“1”中將重疊區(qū)域的數據搬運至“2”中,通常情況下,重疊區(qū)域的數據在備份存儲器與第二畸變矯正數據源存儲器中的偏移地址不一致。當然,如果第一畸變矯正數據源存儲器的數據與備份存儲器的數據不存在重疊區(qū)域,則不需要執(zhí)行該步驟。

第三,在備份存儲器中的重疊區(qū)域圖像的數據搬存儲到第二畸變矯正數據源存儲器完成后,從第二畸變矯正數據源存儲器的重疊區(qū)域圖像的數據轉存到備份存儲器中,該步驟的目的是保證備份存儲器中所中存儲的重疊區(qū)域圖像的數據與第二畸變矯正數據源存儲器所存儲的數據一致。

第四,執(zhí)行步驟s5與s6,判斷下一感興趣區(qū)域圖像是否包含重疊區(qū)域以外的圖像,如果包含重疊區(qū)域以外的圖像,則執(zhí)行步驟s6,將重疊區(qū)域以外的圖像存儲到備份存儲器以及畸變矯正數據源存儲器中。具體的,如果下一感興趣區(qū)域圖像除了包括重疊區(qū)域的圖像以外,還包括其他的圖像,也就是包括非重疊區(qū)域的圖像,還需要將非重疊區(qū)域圖像的數據加載到畸變矯正數據源存儲器中。通常,非重疊區(qū)域的圖像是從動態(tài)隨機存儲器加載到靜態(tài)存儲器。

如圖4所示的,在圖4(a)的情況下,非重疊區(qū)域包括位于重疊區(qū)域11上方的上部區(qū)域12、位于重疊區(qū)域11下方的下部區(qū)域13,還包括位于重疊區(qū)域11右側的間隙區(qū)域14。在圖4(b)的情況下,非重疊區(qū)域包括位于重疊區(qū)域16上方的上部區(qū)域17、位于重疊區(qū)域16下方的下部區(qū)域18,還包括位于重疊區(qū)域16左側的間隙區(qū)域19。

從動態(tài)隨機存儲器ddr向靜態(tài)存儲器sram寫入數據時,可以分為三段地址的寫入,依次為:非重疊區(qū)域地址段0、重疊區(qū)域地址段以及非重疊區(qū)域地址段1,上述三段地址段分別對應是上部區(qū)域、間隙區(qū)域以及下部區(qū)域的數據所存儲的地址段。并且,三個區(qū)域的寫入順序優(yōu)先級為:非重疊區(qū)域地址段0>重疊區(qū)域地址段>非重疊區(qū)域地址段1,也就是上部區(qū)域、間隙區(qū)域以及下部區(qū)域的數據是依次的寫入到靜態(tài)存儲器中,當然,不管是寫入到備份存儲器還是畸變矯正數據源存儲器,上述三個區(qū)域地址段的數據都是依照其優(yōu)先級順序依次寫入的。

當然,實際應用中,上部區(qū)域、間隙區(qū)域以及下部區(qū)域這三個區(qū)域不一定同時存在,對于不存在的區(qū)域可以直接跳過。特別地,若不存在重疊區(qū)域,則需要直接對整個當前感興趣區(qū)域圖像的數據進行數據加載,也就是步驟s2中,如判斷下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像不存在重疊區(qū)域,則直接執(zhí)行步驟s6,直接將下一感興趣區(qū)域圖像的所有數據寫入到備份存儲器以及畸變矯正數據源存儲器中。

回看圖3,從動態(tài)隨機存儲器向靜態(tài)存儲器加載非重疊區(qū)域的數據時,同時向備份存儲器以及第二畸變矯正數據源存儲器加載非重疊區(qū)域圖像的數據。并且,如果下一感興趣區(qū)域圖像與當前感興趣區(qū)域圖像不存在重疊區(qū)域,則直接將下一感興趣區(qū)域圖像的所有數據寫入備份存儲器以及第二畸變矯正數據源存儲器中。至此,備份存儲器以及第二畸變矯正數據源存儲器均完全一致的存儲了下一感興趣區(qū)域圖像的數據。

在繼續(xù)處理下一塊當前感興趣區(qū)域的圖像時,處理方式基本相同,不同的就是使用的畸變矯正數據源存儲器不相同。由于在當前感興趣區(qū)域圖像的數據寫入到備份存儲器以及第二畸變矯正數據源存儲器后,第二畸變矯正數據源存儲器存儲有當前感興趣區(qū)域圖像的數據,因此,在寫入下一塊當前感興趣區(qū)域圖像的數據時,是將備份存儲器中的重疊區(qū)域圖像的數據寫入第一畸變矯正數據源存儲器“0”,并且再從第一畸變矯正數據源存儲器將重疊區(qū)域的數據寫回備份存儲器,最后將非重疊區(qū)域圖像的數據寫入到備份存儲器以及第一畸變矯正數據源存儲器。

可見,作為乒乓靜態(tài)存儲器的第一畸變矯正數據源存儲器以及第二畸變矯正數據源存儲器時交替使用的,也就是,第一塊感興趣區(qū)域圖像的數據同時寫入到第一畸變矯正數據源存儲器以及備份存儲器后,使用第一畸變矯正數據源存儲器所存儲的數據作為第一塊感興趣區(qū)域圖像的矯正的數據源,即對第一畸變矯正數據源存儲器的數據進行校正。與此同時,將第一塊感興趣區(qū)域圖像與第二塊感興趣區(qū)域圖像重疊區(qū)域的數據從備份存儲器寫入到第二畸變矯正數據源存儲器,再從第二畸變矯正數據源存儲器寫入備份存儲器,最后將非重疊區(qū)域的數據同時寫入到備份存儲器以及第二畸變矯正數據源存儲器。

在對第二塊感興趣區(qū)域圖像進行矯正時,使用第二畸變矯正數據源存儲器所存儲的數據作為第二塊感興趣區(qū)域圖像的矯正的數據源,即對第二畸變矯正數據源存儲器的數據進行校正。與此同時,將第二塊感興趣區(qū)域的圖像與第三塊感興趣區(qū)域圖像的重疊區(qū)域的數據從備份存儲器寫入到第一畸變矯正數據源存儲器,再從第一畸變矯正數據源存儲器寫回備份存儲器,最后將非重疊區(qū)域的數據同時寫入到備份存儲器以及第一畸變矯正數據源存儲器。

后續(xù)處理第四塊感興趣區(qū)域圖像數據時,不斷重復上述的步驟。

下面介紹重疊區(qū)域圖像的地址在備份存儲器中的地址計算方法。假設sram重疊區(qū)域起始、結束位置坐標為e_buf_ssp_st(buf_y_xovl_st,buf_y_yovl_st),e_buf_ssp_end(buf_y_xovl_end,buf_y_yovl_end),此時定義備份存儲器第一個地址的坐標為(0,0),定義重疊區(qū)域坐標為e_buf_ssp(buf_y_xovl,buf_y_yovl),則備份存儲器中重疊區(qū)域在的地址可表示為:

buf_y_ovl_addr={buf_y_yovl+m,buf_y_xovl+n},其中:

m∈[0,ovl_y_num],n∈[0,ovl_x_num]

buf_y_yovl∈[buf_y_yovl_st,buf_y_yovl_end]

buf_y_xovl∈[buf_y_xovl_st,buf_y_xovl_end]

其中,ovl_x_num=x_ovl_end-x_ovl_bgn,ovl_y_num=y_ovl_end-y_ovl_bgn。

對于e_buf_ssp_st(buf_y_xovl_st,buf_y_yovl_st),e_buf_ssp_end(buf_y_xovl_end,buf_y_yovl_end)的確定,可以按照以下方式計算:

對于buf_y_xovl_st的確定,當x_curr_bgn<x_next_bgn時,buf_y_xovl_st=x_next_bgn-x_curr_bgn,否則,buf_y_xovl_st=0;

對于buf_y_yovl_st的確定,當y_curr_bgn<y_next_bgn時,buf_y_yovl_st=y_next_bgn-y_curr_bgn,否則,buf_y_yovl_st=0;

對于buf_y_xovl_end的確定,當x_curr_end<x_next_end時,buf_y_xovl_end=w_roi_last(w_roi_last為上一個感興趣區(qū)域的寬度),否則,buf_y_xovl_end=x_next_end-x_curr_bgn;

對于buf_y_yovl_end的確定,當y_curr_end<y_next_end時,buf_y_yovl_end=h_roi_last(h_roi_last為上一個感興趣區(qū)域的高度),否則,buf_y_yovl_end=y_next_end-y_curr_bgn。

下面介紹重疊區(qū)域畸變矯正數據源存儲器中的地址計算方法。假設重疊區(qū)域起始、結束位置坐標分別為e_ssp_st(src_y_xovl_st,src_y_yovl_st),e_ssp_end(src_y_xovl_end,src_y_yovl_end)。假設重疊區(qū)域坐標為e_ssp(src_y_xovl,src_y_yovl),同樣有畸變矯正數據源存儲器中重疊區(qū)域地址可表示為:

src_y_ovl_addr={src_y_yovl+m,src_y_xovl+n},其中,

m∈[0,ovl_y_num],n∈[0,ovl_x_num]

src_y_yovl∈[src_y_yovl_st,src_y_yovl_end]

src_y_xovl∈[src_y_xovl_st,src_y_xovl_end]。

以下介紹地址e_ssp_st(src_y_xovl_st,src_y_yovl_st),e_ssp_end(src_y_xovl_end,src_y_yovl_end)的計算方法:

對于src_y_xovl_st的確定,當x_curr_bgn<x_next_bgn時,src_y_xovl_st=0,否則,src_y_xovl_st=x_curr_bgn-x_next_bgn;

對于src_y_yovl_st的確定,當y_curr_bgn<y_next_bgn時,src_y_yovl_st=0,否則,src_y_yovl_st=y_curr_bgn-y_next_bgn;

對于src_y_xovl_end的確定,當x_curr_end<x_next_end時,src_y_xovl_end=x_curr_end-x_next_bgn,否則,src_y_xovl_end=w_roi_curr(w_roi_curr為當前感興趣區(qū)域的寬度);

對于src_y_yovl_end的確定,當y_curr_end<y_next_end時,src_y_yovl_end=y_curr_end-y_next_bgn,否則,src_y_yovl_end=h_roi_curr(h_roi_curr為當前感興趣區(qū)域的高度)。

最后,執(zhí)行步驟s7,對畸變矯正數據源存儲器所存儲的數據進行矯正處理,也就是使用現有的對待矯正的數據進行矯正的方法對已經寫入到畸變矯正數據源存儲器的數據進行矯正處理,從而獲得矯正后的數據。具體的,在對當前感興趣區(qū)域圖像的數據進行矯正時,使用存儲在第一畸變矯正數據源存儲器中的數據,而對下一塊當前感興趣區(qū)域圖像的數據進行矯正處理時,使用第二畸變矯正數據源存儲器所存儲的數據。

本發(fā)明的魚眼圖像處理方法可以通過硬件電路實現,參見圖5,該硬件電路包括處理器20、當前感興趣區(qū)域圖像參數模塊21、下一塊當前感興趣區(qū)域圖像參數模塊22、第一數據寫入模塊23、第二數據寫入模塊24、第三數據寫入模塊25以及ddr控制器26、異步橋模塊27、dram總線28以及ddr存儲器29。

其中,處理器20為單芯片多處理器20,當前感興趣區(qū)域圖像參數模塊21、下一塊當前感興趣區(qū)域圖像參數模塊22均與外部模塊實現握手操作以獲取相應的參數,實現相鄰感興趣區(qū)域圖像的參數的準備及與外部模塊的控制、數據信號交互,處理器20在完成相鄰兩個感興趣區(qū)域重疊區(qū)域的確定,為后續(xù)各階段的數據搬運提供基礎數據。

第一數據寫入模塊23在下一感興趣區(qū)域與當前感興趣區(qū)域存在重疊區(qū)域時啟動,實現將重疊區(qū)域的數據從備份存儲器寫入到畸變矯正數據源存儲器的過程,第二數據寫入模塊24在完成重疊區(qū)域的數據從備份存儲器寫入到畸變矯正數據源存儲器的過程后啟動,實現重疊區(qū)域的數據從畸變矯正數據源存儲器寫入到備份存儲器的過程。第三數據寫入模塊25的啟動條件有兩個:一是相鄰兩個感興趣區(qū)域無重疊區(qū)域,在處理器20完成重疊區(qū)域的確定后觸發(fā)并且啟動;二是相鄰兩個感興趣區(qū)域存在重疊區(qū)域且重疊區(qū)域面積小于下一感興趣區(qū)域的面積時,在第二數據寫入模塊24完成工作后觸發(fā)第三數據寫入模塊25的工作。因此,第三數據寫入模塊25主要是接收處理器20、第二數據寫入模塊24傳遞過來的參數,產生符合對應ddr總線的協議,完成對應感興趣區(qū)域的動態(tài)隨機存儲器的數據的加載工作。

第三數據寫入模塊25通過dram總線28與異步橋模塊27進行數據交互,ddr存儲器29通過ddr控制器26將數據通過異步橋模塊27傳輸至dram總線28,從而將數據傳遞給第三數據寫入模塊25實現動態(tài)隨機存儲器向靜態(tài)存儲器的數據寫入過程。

相比起現有的魚眼圖像處理方法,即相對于未進行冗余數據消除的魚眼圖像分塊處理的方法,本發(fā)明能夠減小約55%的動態(tài)隨機存儲器所使用帶寬,且硬件電路結構簡單,電路的面積大大減小,有利于魚眼圖像處理電路在系統級芯片上的集成。此外,本發(fā)明能夠簡化魚眼圖像分塊處理時相鄰感興趣區(qū)域圖像的冗余數據消除的處理過程,將不確定的重疊區(qū)域進行歸類統一處理,減小硬件實現復雜度,利于硬件實現。并且,本發(fā)明所使用的冗余數據消除方法適用于任意大小分塊感興趣區(qū)域,適用性強,可做成通用模塊供有相似需求的圖像處理模塊調用。

計算機裝置實施例:

本實施例的計算機裝置包括有處理器、存儲器以及存儲在存儲器中并可在處理器上運行的計算機程序,例如用于實現上述信息處理方法的信息處理程序。處理器執(zhí)行計算機程序時實現上述魚眼圖像處理方法的各個步驟。

例如,計算機程序可以被分割成一個或多個模塊,一個或者多個模塊被存儲在存儲器中,并由處理器執(zhí)行,以完成本發(fā)明的各個模塊。一個或多個模塊可以是能夠完成特定功能的一系列計算機程序指令段,該指令段用于描述計算機程序在終端設備中的執(zhí)行過程。

需要說明的是,終端設備可以是桌上型計算機、筆記本、掌上電腦及云端服務器等計算設備。終端設備可包括,但不僅限于,處理器、存儲器。本領域技術人員可以理解,本發(fā)明的示意圖僅僅是終端設備的示例,并不構成對終端設備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如終端設備還可以包括輸入輸出設備、網絡接入設備、總線等。

本發(fā)明所稱處理器可以是中央處理單元(centralprocessingunit,cpu),還可以是其他通用處理器、數字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等,處理器是終端設備的控制中心,利用各種接口和線路連接整個終端設備的各個部分。

存儲器可用于存儲計算機程序和/或模塊,處理器通過運行或執(zhí)行存儲在存儲器內的計算機程序和/或模塊,以及調用存儲在存儲器內的數據,實現終端設備的各種功能。存儲器可主要包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區(qū)可存儲根據手機的使用所創(chuàng)建的數據(比如音頻數據、電話本等)等。此外,存儲器可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如硬盤、內存、插接式硬盤,智能存儲卡(smartmediacard,smc),安全數字(securedigital,sd)卡,閃存卡(flashcard)、至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。

計算機可讀存儲介質:

終端設備集成的模塊如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明實現上述實施例方法中的全部或部分流程,也可以通過計算機程序來指令相關的硬件來完成,該計算機程序可存儲于一計算機可讀存儲介質中,該計算機程序在被處理器執(zhí)行時,可實現上述各個魚眼圖像處理方法的各個步驟。

其中,計算機程序包括計算機程序代碼,計算機程序代碼可以為源代碼形式、對象代碼形式、可執(zhí)行文件或某些中間形式等。計算機可讀介質可以包括:能夠攜帶計算機程序代碼的任何實體或裝置、記錄介質、u盤、移動硬盤、磁碟、光盤、計算機存儲器、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、電載波信號、電信信號以及軟件分發(fā)介質等。需要說明的是,計算機可讀介質包含的內容可以根據司法管轄區(qū)內立法和專利實踐的要求進行適當的增減,例如在某些司法管轄區(qū),根據立法和專利實踐,計算機可讀介質不包括電載波信號和電信信號。

當然,上述的方案只是本發(fā)明優(yōu)選的實施方案,實際應用是還可以有更多的變化,例如,畸變矯正數據源存儲器可以設置三個或者更多個,這些改變都不影響本發(fā)明的實施,也應該包括在本發(fā)明的保護范圍內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1