<blockquote id="76sxc"></blockquote>
<cite id="76sxc"><track id="76sxc"></track></cite>
<legend id="76sxc"></legend>

  • <blockquote id="76sxc"><p id="76sxc"></p></blockquote>
    <sub id="76sxc"><p id="76sxc"></p></sub>

          校準(zhǔn)函數(shù)

          本文內(nèi)容

          ● 獲取校準(zhǔn)數(shù)據(jù)

          ● 坐標(biāo)轉(zhuǎn)換函數(shù)

          ● 相關(guān)示例

          ● 后續(xù)步驟


          本文完全復(fù)用Azure kinect 的校準(zhǔn)函數(shù),使用校準(zhǔn)函數(shù)可以轉(zhuǎn)換Femto Mega設(shè)備上每個(gè)傳感器的坐標(biāo)系之間的點(diǎn)。 需要轉(zhuǎn)換整個(gè)圖像的應(yīng)用程序可以利用圖像轉(zhuǎn)換提供的加速操作。



          獲取校準(zhǔn)數(shù)據(jù)

          需要獲取設(shè)備校準(zhǔn)數(shù)據(jù)才能執(zhí)行坐標(biāo)系轉(zhuǎn)換。 校準(zhǔn)數(shù)據(jù)存儲(chǔ)在 k4a_calibration_t 數(shù)據(jù)類型中。 該數(shù)據(jù)通過 k4a_device_get_calibration() 函數(shù),從設(shè)備中獲取。 校準(zhǔn)數(shù)據(jù)針對(duì)不同設(shè)備,或同一個(gè)設(shè)備的不同工作模式都不一樣。 因此,k4a_device_get_calibration() 需要使用 depth_mode 和 color_resolution 參數(shù)作為輸入。


          OpenCV 兼容性

          校準(zhǔn)參數(shù)與 OpenCV 兼容。 有關(guān)各個(gè)相機(jī)校正參數(shù)的詳細(xì)信息,另請(qǐng)參閱 OpenCV 文檔。 另請(qǐng)參閱 SDK 的 OpenCV 兼容性示例,其中演示了 k4a_calibration_t 類型與相應(yīng) OpenCV 數(shù)據(jù)結(jié)構(gòu)之間的轉(zhuǎn)換。



          坐標(biāo)轉(zhuǎn)換函數(shù)

          下圖顯示了 Femto Mega的不同坐標(biāo)系,以及用于在這些坐標(biāo)系之間轉(zhuǎn)換的函數(shù)。 為了使插圖顯得簡(jiǎn)潔,我們省略了陀螺儀和加速度傳感器的 3D 坐標(biāo)系。

          有關(guān)鏡頭失真的備注:2D 坐標(biāo)始終引用 SDK 中失真的圖像。 SDK 的失真矯正示例 演示了圖像失真矯正。 一般情況下,3D 點(diǎn)永遠(yuǎn)不會(huì)受到鏡頭失真的影響。


          在 3D 坐標(biāo)系之間轉(zhuǎn)換

          函數(shù) k4a_calibration_3d_to_3d() 使用相機(jī)的外部校準(zhǔn)將源坐標(biāo)系的 3D 點(diǎn)轉(zhuǎn)換為目標(biāo)坐標(biāo)系的 3D 點(diǎn)。 源和目標(biāo)可設(shè)置為四個(gè) 3D 坐標(biāo)系中的任何一個(gè),即,彩色相機(jī)、深度相機(jī)、陀螺儀或加速度傳感器。 如果源和目標(biāo)相同,則返回未修改的輸入 3D 點(diǎn)作為輸出。


          在 2D 與 3D 坐標(biāo)系之間轉(zhuǎn)換

          函數(shù) k4a_calibration_3d_to_2d() 將源坐標(biāo)系的 3D 點(diǎn)轉(zhuǎn)換為目標(biāo)相機(jī)的 2D 像素坐標(biāo)。 此函數(shù)通常稱為投影函數(shù)。 盡管源可以設(shè)置為四個(gè) 3D 坐標(biāo)系中的任何一個(gè),但目標(biāo)必須是深度相機(jī)或彩色相機(jī)。 如果源和目標(biāo)不同,則會(huì)使用 k4a_calibration_3d_to_3d() 將輸入的 3D 點(diǎn)轉(zhuǎn)換為目標(biāo)相機(jī)的 3D 坐標(biāo)系。 以目標(biāo)相機(jī)坐標(biāo)系表示 3D 點(diǎn)后,將使用目標(biāo)相機(jī)的內(nèi)部校準(zhǔn)計(jì)算相應(yīng)的 2D 像素坐標(biāo)。 如果 3D 點(diǎn)超出了目標(biāo)相機(jī)的可視區(qū)域,則有效值將設(shè)置為 0。


          函數(shù) k4a_calibration_2d_to_3d() 將源相機(jī)的 2D 像素坐標(biāo)轉(zhuǎn)換為目標(biāo)相機(jī)坐標(biāo)系的 3D 點(diǎn)。 源必須是彩色相機(jī)或深度相機(jī)。 目標(biāo)可設(shè)置為四個(gè) 3D 坐標(biāo)系中的任何一個(gè)。 除了 2D 像素坐標(biāo)外,源相機(jī)圖像中像素的深度值(以毫米為單位)也需要作為函數(shù)的輸入,在彩色相機(jī)幾何中推導(dǎo)出深度值的一種方法是使用函數(shù) k4a_transformation_depth_image_to_color_camera()。 該函數(shù)使用源相機(jī)的內(nèi)部校準(zhǔn)通過指定的像素坐標(biāo)計(jì)算源相機(jī)焦點(diǎn)引出的 3D 射線。 然后,使用深度值查找此射線的確切 3D 點(diǎn)位置。 此操作通常稱為取消投影函數(shù)。 如果源和目標(biāo)相機(jī)不同,該函數(shù)會(huì)通過 k4a_calibration_3d_to_3d() 將 3D 點(diǎn)轉(zhuǎn)換為目標(biāo)的坐標(biāo)系。 如果 2D 像素坐標(biāo)超出了源相機(jī)的可視區(qū)域,則有效值將設(shè)置為 0。


          在 2D 坐標(biāo)系之間轉(zhuǎn)換

          函數(shù) k4a_calibration_2d_to_2d() 將源相機(jī)的 2D 像素坐標(biāo)轉(zhuǎn)換為目標(biāo)相機(jī)的 2D 像素坐標(biāo)。 源和目標(biāo)必須設(shè)置為彩色相機(jī)或深度相機(jī)。 該函數(shù)需要將源相機(jī)圖像中像素的深度值(以毫米為單位)作為輸入,在彩色相機(jī)幾何中推導(dǎo)出深度值的一種方法是使用函數(shù) k4a_transformation_depth_image_to_color_camera()。 它將調(diào)用 k4a_calibration_2d_to_3d() 轉(zhuǎn)換為源相機(jī)系統(tǒng)的 3D 點(diǎn)。 然后,它將調(diào)用 k4a_calibration_3d_to_2d() 轉(zhuǎn)換為目標(biāo)相機(jī)圖像的 2D 像素坐標(biāo)。 如果 k4a_calibration_2d_to_3d()  k4a_calibration_3d_to_2d() 返回?zé)o效的結(jié)果,則有效值將設(shè)置為 0。



          相關(guān)示例

          ● OpenCV 兼容性示例

          ● 失真矯正示例

          ● 快速點(diǎn)云示例



          后續(xù)步驟

          了解相機(jī)校正后,接下來還可以了解設(shè)備同步。

          <blockquote id="76sxc"></blockquote>
          <cite id="76sxc"><track id="76sxc"></track></cite>
          <legend id="76sxc"></legend>

        1. <blockquote id="76sxc"><p id="76sxc"></p></blockquote>
          <sub id="76sxc"><p id="76sxc"></p></sub>

                国产毛片一区二区三区在线视频 | 男人把我添到了高潮a | 青青艹久久 | 欧美一区二区精品夜夜嗨 | 伊人大香蕉7 | 国产人伦激情在线观看 | 日本做床爱全过程激烈视频 | 91成人手机在线 | 免费一级淫片AAA | 手机A V在线 |