一種對3d相機進行校正的裝置及方法
【技術領域】
[0001]本發明涉及圖像處理與圖像識別領域,特別是涉及一種對3D相機進行校正的裝置及方法。
【背景技術】
[0002]為了利用手機采集并生成3D圖片,手機上往往會安裝雙攝像頭,而雙攝像頭在貼片過程中的位置很容易出現誤差,導致采集的圖像數據最終生成很別扭的3D圖像。
[0003]為解決上述技術問題,本發明提供一種對3D相機進行校正的裝置及方法,以補償因攝像頭貼片誤差而產生的不良影響。
【發明內容】
[0004]本發明提供一種對3D相機進行校正的裝置及方法,通過將采集的3D圖像數據轉換為灰度圖像,并拆分所述灰度圖像為左圖像和右圖像,然后對左圖像和右圖像的角點進行匹配以及計算每一對相匹配的左圖像的角點的X坐標的絕對值與右圖像的角點X坐標之差最終獲得誤差,利用誤差調節左圖像和右圖像的橫向坐標,使得左圖像和右圖像每一對相匹配的角點橫坐標到Y軸的距離相等,可補償因3D相機的雙攝像頭在貼片時所產生的位置誤差,利用校正之后獲得的左圖像和右圖像最終可生成效果較好的3D圖像。
[0005]為解決上述技術問題,本發明提供的第一技術方案是提供一種對3D相機進行校正的裝置,包括:
[0006]圖像轉換模塊,用于接收3D相機采集的3D圖像數據,然后將所述3D圖像數據處理為灰度圖像,并將所述灰度圖像拆分為左圖像和右圖像;
[0007]角點檢測模塊,與所述圖像轉換模塊電連接,用于對左圖像和右圖像分別求角占.
[0008]角點匹配模塊,與所述角點檢測模塊電連接,用于對左圖像和右圖像的角點進行匹配;
[0009]誤差計算模塊,與所述角點匹配模塊電連接,用于計算每一對相匹配的左圖像角點的X坐標的絕對值與右圖像角點的X坐標的差值,并對所有的差值求平均以獲得誤差;
[0010]調節模塊,用于根據所述誤差生成反饋信號驅動圖像轉換模塊對左圖像或右圖像沿X軸方向進行調整,以使得相匹配的角點的X坐標相等;
[0011]其中,所述X值所在的直角坐標系的Y軸和X軸都平行于左圖像和右圖像,左圖像位于Y軸的一側,右圖像位于Y軸的另一側,X軸的方向由左圖像中心指向右圖像的中心,且左圖像中心與右圖像中心距離Y軸相等的距離。
[0012]其中,所述誤差如果是利用左圖像的角點的X坐標的絕對值減去右圖像的角點的X坐標所得,則誤差大于零時,調節模塊驅動圖像轉換模塊將左圖像或右圖像向X軸正方向平移,誤差小于零時,調節模塊驅動圖像轉換模塊將左圖像或者右圖像向X軸負方向平移,誤差等于零時,圖像轉換模塊不對左右圖像進行調整。
[0013]其中,所述誤差如果是利用右圖像的角點的X坐標減去左圖像的角點的X坐標的絕對值所得,則誤差大于零時,調節模塊驅動圖像轉換模塊將左圖像或者向X軸負方向平移,誤差小于零時,調節模塊驅動圖像轉換模塊將左圖像或者右圖像向X軸正方向平移,誤差等于零時,圖像轉換模塊不對左右圖像進行調整。
[0014]其中,所述角點檢測模塊采用的角點檢測算法包括Harris角點檢測算法。
[0015]其中,所述角點匹配模塊進一步用于利用剔除算法剔除錯誤的匹配角點。
[0016]其中,所述剔除算法包括光束平差法。
[0017]為解決上述問題,本發明提供的第二技術方案是提供一種對3D相機進行校正的方法,包括步驟:
[0018]利用圖像轉換模塊接收3D相機采集的3D圖像數據,然后將所述3D圖像數據處理為灰度圖像,并將所述灰度圖像拆分為左圖像和右圖像;
[0019]利用角點檢測模塊對左圖像和右圖像分別求角點;
[0020]利用角點匹配模塊對左圖像和右圖像的角點進行匹配;
[0021]利用誤差計算模塊計算每一對相匹配的左圖像角點的X坐標的絕對值與右圖像角點的X坐標的差值,并對所有的差值求平均以獲得誤差;
[0022]利用調節模塊根據所述誤差生成誤差反饋信號驅動圖像轉換模塊對左圖像或右圖像沿X軸方向進行調整,以使得相匹配的角點的X坐標相等;
[0023]其中,所述X值所在的直角坐標系的Y軸和X軸都平行于左圖像和右圖像,左圖像位于Y軸的一側,右圖像位于Y軸的另一側,X軸的方向由左圖像中心指向右圖像的中心,且左圖像中心與右圖像中心距離Y軸相等的距離。
[0024]其中,所述誤差如果是利用左圖像的角點的X坐標的絕對值減去右圖像的角點的X坐標所得,則誤差大于零時,利用調節模塊驅動圖像轉換模塊將左圖像或者右圖像向X軸正方向平移,誤差小于零時,利用調節模塊驅動圖像轉換模塊將左圖像或者右圖像向X軸負方向平移,誤差等于零時,圖像轉換模塊不對左右圖像進行調整。
[0025]其中,所述誤差如果是利用右圖像的角點的X坐標減去左圖像的角點的X坐標的絕對值所得,則誤差大于零時,利用調節模塊驅動圖像轉換模塊將左圖像或者右圖像向X軸負方向平移,誤差小于零時,利用調節模塊驅動圖像轉換模塊將左圖像或者右圖像向X軸正方向平移,誤差等于零時,圖像轉換模塊不對左右圖像進行調整。
[0026]其中,所述角點檢測模塊采用的角點檢測算法包括Harris角點檢測算法。
[0027]其中,所述利用角點匹配模塊對左圖像和右圖像的角點進行匹配的步驟進一步包括利用剔除算法剔除錯誤的匹配角點。
[0028]其中,所述剔除算法包括光束平差法。
[0029]本發明的有益效果是:通過將采集的3D圖像數據轉換為灰度圖像,并拆分所述灰度圖像為左圖像和右圖像,然后對左圖像和右圖像的角點進行匹配以及計算每一對相匹配的左圖像的角點的X坐標的絕對值與右圖像的角點的X坐標之差最終獲得誤差,利用誤差調節左圖像和右圖像的橫向坐標,使得每一對相匹配的左圖像和右圖像的角點的橫坐標到Y軸的距離相等,可補償因3D相機的雙攝像頭在貼片時所產生的位置誤差,利用校正之后獲得的左圖像和右圖像最終可生成效果較好的3D圖像。
【附圖說明】
[0030]圖1是本發明的一種對3D相機進行校正的裝置的一實施例的結構示意圖;
[0031]圖2是本發明的一種對3D相機進行校正的方法的一實施例的流程示意圖;
[0032]圖3是本發明的一種對3D相機進行校正的裝置及方法中利用圖像轉換模塊對灰度圖像進行拆分的示意圖。
【具體實施方式】
[0033]本發明的第一技術方案是提供一種對3D相機進行校正的裝置,請參見圖1,圖1是本發明的一種對3D相機進行校正的裝置的一實施例的結構示意圖。如圖1所示,本實施例的對3D相機進行校正的裝置10包括圖像轉換模塊11、角點檢測模塊12、角點匹配模塊13、誤差計算模塊14以及調節模塊15。其中,圖像轉換模塊11與角點檢測模塊12電連接,角點檢測模塊12與角點匹配模塊13電連接,角點匹配模塊13與誤差計算模塊14電連接,誤差計算模塊14與調節模塊15電連接,調節模塊15與圖像轉換模塊11電連接。
[0034]在本實施例中,3D相機采集的3D圖像數據輸入給圖像轉換模塊11,圖像轉換模塊11接收到3D圖像數據后,對3D圖像數據進行處理。圖像轉換模塊11首先將3D圖像數據處理為灰度圖像,再將灰度圖像拆分成左圖像和右圖像的形式。然后圖像轉換模塊11將處理后生成的左圖像和右圖像輸出給角點檢測模塊12,角點檢測模塊12用于對左圖像和右圖像分別求角點。
[0035]本實施例中,圖像轉換模塊11對灰度圖像進行拆分的過程可參見圖3,圖3是本發明的一種對3D相機進行校正的裝置及方法中利用圖像轉換模塊對灰度圖像進行拆分的示意圖。如圖3所示,圖像轉換模塊11將原始3D圖像通過轉換算法轉換為灰度圖像,并將灰度圖像P拆分為左圖像和右圖像Pk,其中,左圖像和右圖像Pk分布于灰度圖像P的中分線AB的兩側,其中,左圖像位于Y軸的一側,而右圖像Pk位于Y軸的另一側,X軸由左圖像的中心點指向右圖像Pk的中心點,且左圖像中心點與右圖像中心點距離Y軸的距離相等。當然,在本發明的具體應用中,還可以用其他類似方法建立直角坐標系以達到本發明的同樣目的,本發明對此不做限制。
[0036]在本發明的一優選實施例中,角點檢測模塊12所采用的角點檢測算法包括Harris角點檢測算法,當然在本發明的其他實施例中,也可以采用能到達到同樣目的的其他角點檢測算法進行角點檢測,本發明對此不作限制。
[0037]在本實施例中,角點匹配模塊13對完成角點檢測之后的角點進行匹配。具體地,角點匹配模塊13利用角點匹配算法將左圖像和右圖像的角點一一匹配以獲得一定數量的匹配角點。當然,在本發明的其他實施例中,角點匹配模塊13還需要采用剔除算法剔除錯誤的匹配角點以獲得正確的匹配角點,以彌補角點匹配算法的不足。在本發明的一優選實施例中,剔除算法包括光束平差法。
[0038]在本實施例中,角點匹配模塊13獲得正確的匹配角點之后將匹配正確的角點數據傳輸給誤差計算模塊14以獲取左右圖像的橫向偏移誤差。具體地,誤差計算模塊14計算每一對相匹配的左圖像角點的X坐標的絕對值與右圖像角點的X坐標的差值,并對所有的差值求平均以獲得誤差。
[0039]在本實施例中,調節模塊15從誤差計算模塊14接收到誤差之后,根據誤差生成相應的驅動信號,并將驅動信號傳輸給圖像轉換模塊11,圖像轉換模塊11在驅動信號的驅動下對左圖像或右圖像沿X軸方向進行調整,以使得誤差等于零,左圖像和右圖像相對應的匹配點的橫坐標到Y軸的距離相等,進而彌補3D相機的左攝像頭和右攝像頭在貼片過程中產生的橫向誤差。
[0040]在發明的一優選實施例中,誤差計算模塊14獲得的誤差如果是利用左圖像的角點的X坐標的絕對值減去右圖像的角點的X坐標所得,則誤差大于零時,調節模塊15驅動圖像轉換模塊11將左圖像和右圖像向X軸正方向平移,誤差小于零時,調節模塊15驅動圖像轉換模塊11將左圖像或右圖像向X軸負方向平