国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

奧比中光Astra SDK相機(jī)SDK openni&&相機(jī)成像原理

這篇具有很好參考價(jià)值的文章主要介紹了奧比中光Astra SDK相機(jī)SDK openni&&相機(jī)成像原理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.1 成像原理簡(jiǎn)介

1.1.1 結(jié)構(gòu)光

1.1.2 雙目視覺(jué)

1.1.3 光飛行時(shí)間TOF?

2.使用手冊(cè)

參考網(wǎng)址

2.1 產(chǎn)品集成設(shè)計(jì)

2.2 SDK介紹與使用

2.3 常用API介紹

OPENNI API

2 OpenNI類(OpenNI.h)


1.1 成像原理簡(jiǎn)介

1.1.1 結(jié)構(gòu)光

結(jié)構(gòu)光,英文叫做 Structured light,通常采用特定波長(zhǎng)的不可見(jiàn)的紅外激光作為光源,它發(fā)射出來(lái)的光經(jīng)過(guò)

一定的編碼投影在物體上,通過(guò)一定算法來(lái)計(jì)算返回的編碼圖案的畸變來(lái)得到物體的位置和深度信息。根

據(jù)編碼圖案不同一般有條紋結(jié)構(gòu)光---enshape ,編碼結(jié)構(gòu)光---Mantis Vision, Realsense(F200), 散斑結(jié)構(gòu)光

---apple(primesense), 奧比中光。下圖是一個(gè)典型的結(jié)構(gòu)光相機(jī)的示意圖:奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

結(jié)構(gòu)光(散斑)的優(yōu)點(diǎn)主要有:

1)方案成熟,相機(jī)基線可以做的比較小,方便小型化。

2)資源消耗較低,單幀 IR 圖就可計(jì)算出深度圖,功耗低。

3)主動(dòng)光源,夜晚也可使用。

4)在一定范圍內(nèi)精度高,分辨率高,分辨率可達(dá) 1280x1024,幀率可達(dá) 60FPS。

散斑結(jié)構(gòu)光的缺點(diǎn)與結(jié)構(gòu)光類似:

1)容易受環(huán)境光干擾,室外體驗(yàn)差。

2)隨檢測(cè)距離增加,精度會(huì)變差。

1.1.2 雙目視覺(jué)

奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

雙目相機(jī)的主要優(yōu)點(diǎn)有:

1)硬件要求低,成本也低。普通 CMOS 相機(jī)即可。

2)室內(nèi)外都適用。只要光線合適,不要太昏暗。

但是雙目的缺點(diǎn)也是非常明顯:

1)對(duì)環(huán)境光照非常敏感。光線變化導(dǎo)致圖像偏差大,進(jìn)而會(huì)導(dǎo)致匹配失敗或精度低

2)不適用單調(diào)缺乏紋理的場(chǎng)景。雙目視覺(jué)根據(jù)視覺(jué)特征進(jìn)行圖像匹配,沒(méi)有特征會(huì)導(dǎo)致匹配失敗。

3)計(jì)算復(fù)雜度高。該方法是純視覺(jué)的方法,對(duì)算法要求高,計(jì)算量較大。

4)基線限制了測(cè)量范圍。測(cè)量范圍和基線(兩個(gè)攝像頭間距)成正比,導(dǎo)致無(wú)法小型化。

1.1.3 光飛行時(shí)間TOF奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

TOF 的優(yōu)點(diǎn)主要有:

1)檢測(cè)距離遠(yuǎn)。在激光能量夠的情況下可達(dá)幾十米。

2)受環(huán)境光干擾比較小。

但是 TOF 也有一些顯而易見(jiàn)的問(wèn)題:

1)對(duì)設(shè)備要求高,特別是時(shí)間測(cè)量模塊。

2)資源消耗大。 該方案在檢測(cè)相位偏移時(shí)需要多次采樣積分,運(yùn)算量大。

3)邊緣精度低。

4)限于資源消耗和濾波,幀率和分辨率都沒(méi)辦法做到較高。目前消費(fèi)類最大也就 VGA。奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

雙目具有良好的戶外表現(xiàn),但不適用紋理變化不明顯的場(chǎng)合,如白墻;

TOF在遠(yuǎn)距離的精度更佳,但目前受限于圖像分辨率低、功耗大;

結(jié)構(gòu)光綜合表現(xiàn)目前來(lái)看,在三種3D傳感技術(shù)中最優(yōu),但是戶外強(qiáng)光干擾明顯和遠(yuǎn)距離處精度差

奧比中光推出了940nm波段的二代產(chǎn)品P1、Deeyea和雙目結(jié)構(gòu)光結(jié)合的產(chǎn)品蒼龍一 號(hào),盡可能改善結(jié)構(gòu)光的固有缺陷。

2.使用手冊(cè)

參考網(wǎng)址

https://developer.orbbec.com.cn/develop_details.html?id=1 很全

https://developer.orbbec.com.cn/technical_library.html?id=68 代碼實(shí)例

https://developer.orbbec.com.cn/technical_library.html?id=70 API

SDK支持

https://developer.orbbec.com.cn/download.html?id=75&menushow=1

官網(wǎng)教程

https://developer.orbbec.com.cn/technical_library.html?id=22

應(yīng)用例程

https://developer.orbbec.com.cn/develop_details.html?id=3

2.1 產(chǎn)品集成設(shè)計(jì)

深度圖

不同于RGB圖像,深度圖中每個(gè)像素點(diǎn)保存的是視場(chǎng)范圍內(nèi)物體距離相機(jī)平面的深度值數(shù)據(jù)。深

度原始數(shù)據(jù)通常為16-bit unsigned int類型,單位可通過(guò)SDK指定,通常為1mm,即深度圖中每個(gè)

像素點(diǎn)保存著16-bit無(wú)符號(hào)整型數(shù)據(jù),單位為1mm。

為了將深度數(shù)據(jù)可視化的顯示出來(lái),通常將其轉(zhuǎn)換為灰度圖顯示,如下圖所示,不同灰度級(jí)表示

不同的深度值大小。奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

2.2 SDK介紹與使用

奧比中光提供的OpenNI2.3系列SDK基于OpenNI2開(kāi)發(fā),OpenNI2(開(kāi)放自然交互)是一個(gè)多

語(yǔ)言、跨平臺(tái)的框架,它定義了應(yīng)用程序、中間件和3D傳感設(shè)備之間的接口。

windows上位機(jī)使用前需先安裝對(duì)應(yīng)的驅(qū)動(dòng),具體步驟為:

1.雙擊【SensorDriver_V4.3.0.17.exe】進(jìn)行驅(qū)動(dòng)安裝

2.解壓OrbbecViewer上位機(jī)安裝包

3.進(jìn)入解壓后文件夾,雙擊【OrbbecViewer.exe】運(yùn)行上位機(jī)

Windows工程環(huán)境配置

1)適用范圍

本公司SDK適用X86/X64 Windows7及以上平臺(tái)

2)開(kāi)發(fā)平臺(tái)搭建

推薦的Windows開(kāi)發(fā)平臺(tái)為Visual Studio 2013或以上版本。對(duì)于Visual Studio平臺(tái),可通過(guò)以

下步驟搭建開(kāi)發(fā)環(huán)境:

? 新建或打開(kāi)C++工程

? 選擇“項(xiàng)目——屬性”,將\SDK\windows\Include目錄添加到頭文件依賴路徑下,注意屬性

配置(x86/x64)與運(yùn)行時(shí)一致奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

奧比中光 大白相機(jī) sdk,數(shù)碼相機(jī),深度學(xué)習(xí),python,人工智能,計(jì)算機(jī)視覺(jué)

在“鏈接器——輸入”目錄下新增OpenNI.lib項(xiàng),完成環(huán)境配置,可以開(kāi)始編輯自己的代碼

了。

? 注意編譯運(yùn)行工程時(shí),把x64-release或者x86-release文件夾里面OpenNI文件夾以及ini和dll

文件拷貝到exe文件所在目錄下,否則會(huì)閃退或報(bào)錯(cuò)。

2.3 常用API介紹

https://zhuanlan.zhihu.com/p/608879068

  1. OPENNI API

主要包含4個(gè)大類:

(1)openni::OpenNI

提供了一個(gè)靜態(tài)的API進(jìn)入點(diǎn)。提供訪問(wèn)設(shè)備,設(shè)備相關(guān)事件,版本和錯(cuò)誤信息。首先確保連接了設(shè)備。

(2)openni::Device

提供與連接到系統(tǒng)的單個(gè)傳感器設(shè)備的接口。需要在創(chuàng)建OpenNI之前先初始化它。提供了對(duì)流的訪問(wèn)權(quán)限。

(3)openni::VideoStream

從一個(gè)設(shè)備(Device)里提取一個(gè)視頻流,需要獲取視頻幀引用(VideoFrameRefs)。

(4)openni::VideoFrameRef

從相關(guān)元數(shù)據(jù)中提取單個(gè)視頻。從特定流獲取。

除了這些主要類之外,還提供了各種支持類和結(jié)構(gòu)來(lái)保存特定類型的數(shù)據(jù)。提供了一個(gè)用于將OpenNI視頻流存儲(chǔ)到文件中的記錄器類。還有一些為OpenNI和Stream類可以生成的事件提供的監(jiān)聽(tīng)器類。視頻流可以使用兩種基本方法之一來(lái)讀?。夯谘h(huán)的和基于事件的。這兩種方法將在本指南的后面詳細(xì)介紹

(5) PlaybackControl 類

有些操作只有在處理已記錄的文件時(shí)才可能執(zhí)行。這些操作包括在流中查找、確定錄音的長(zhǎng)度、循環(huán)錄音以及改變播放速度。這個(gè)功能已經(jīng)被播放控制類封裝了。

2 OpenNI類(OpenNI.h)

  • 2.1 對(duì)設(shè)備的基本訪問(wèn)

(1)OpenNI::initialize() 初始化所有可用的傳感器驅(qū)動(dòng)程序,并掃描系統(tǒng)中可用的設(shè)備

(2)OpenNI::enumerateDevices() 返回已連接到系統(tǒng)的所有可用設(shè)備的列表

(3) OpenNI::shutdown() 關(guān)閉所有驅(qū)動(dòng)程序并正確地清理文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-850928.html

 //1.初始化
    Status rc = OpenNI::initialize();
    if (rc != STATUS_OK)
    {
        printf("Initialize failed\n%s\n", OpenNI::getExtendedError());
        return 1;
    }
    // 2.設(shè)備對(duì)象
    Device device;
    rc = device.open(ANY_DEVICE);
    if (rc != STATUS_OK)
    {
        printf("Couldn't open device\n%s\n", OpenNI::getExtendedError());
        return 2;
    }
    // 3.視頻流對(duì)象
    VideoStream depth;

    if (device.getSensorInfo(SENSOR_DEPTH) != NULL)
    {
        rc = depth.create(device, SENSOR_DEPTH);
        if (rc != STATUS_OK)
        {
            printf("Couldn't create depth stream\n%s\n", OpenNI::getExtendedError());
            return 3;
        }
    }

    rc = depth.start();
    if (rc != STATUS_OK)
    {
        printf("Couldn't start the depth stream\n%s\n", OpenNI::getExtendedError());
        return 4;
    }
    // 4.循環(huán)讀取一幀,getData
    int changedStreamDummy;
    VideoStream* pStream = &depth;
    VideoFrameRef frame;                  // 先定義再聲明,最后使用
    const int maxFramesToProcess = 100;
    //Sentinel to count the number of frames that we've processed
    int count = 0;

    //The frame processing loop
    do {
        rc = OpenNI::waitForAnyStream(&pStream, 1, &changedStreamDummy, TIMEOUT_FOREVER);
        if (rc != STATUS_OK)
        {
            printf("Wait failed! (timeout is %d ms)\n%s\n", TIMEOUT_FOREVER, OpenNI::getExtendedError());
            continue;
        }

        rc = depth.readFrame(&frame);
        if (rc != STATUS_OK)
        {
            printf("Read failed!\n%s\n", OpenNI::getExtendedError());
            continue;
        }

        if (frame.getVideoMode().getPixelFormat() != PIXEL_FORMAT_DEPTH_1_MM && frame.getVideoMode().getPixelFormat() != PIXEL_FORMAT_DEPTH_100_UM)
        {
            printf("Unexpected frame format\n");
            continue;
        }

        DepthPixel* pDepth = (DepthPixel*)frame.getData();   //轉(zhuǎn)換幀數(shù)據(jù)為DepthPixel類型的指針

        printf("[%08llu] %8d\n ", (long long)frame.getTimestamp(), pDepth[0]);

        int middleIndex = (frame.getHeight() + 1) * frame.getWidth() / 2;
        printf("[%08llu] %8d\n %8d\n %8d\n", (long long)frame.getTimestamp(), pDepth[middleIndex], frame.getHeight(), frame.getWidth());

        count++;
    } while (count < maxFramesToProcess);

    // 釋放資源
    depth.stop();
    depth.destroy();
    device.close();
    OpenNI::shutdown();

    std::cout << "hit enter to exit program" << std::endl;
    system("pause");

到了這里,關(guān)于奧比中光Astra SDK相機(jī)SDK openni&&相機(jī)成像原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深度相機(jī)、實(shí)驗(yàn)箱、掃描儀、機(jī)器狗…… 奧比中光超強(qiáng)性能3D視覺(jué)應(yīng)用亮相VALSE 2023

    深度相機(jī)、實(shí)驗(yàn)箱、掃描儀、機(jī)器狗…… 奧比中光超強(qiáng)性能3D視覺(jué)應(yīng)用亮相VALSE 2023

    6月10日-12日,VALSE 2023視覺(jué)與學(xué)習(xí)青年學(xué)者研討會(huì)在江蘇無(wú)錫舉辦,奧比中光作為金牌贊助商,攜Femto Mega與Gemini 2系列3D相機(jī)以及3D視覺(jué)實(shí)驗(yàn)箱開(kāi)發(fā)套件、手持3D掃描儀、四足機(jī)器狗等創(chuàng)新解決方案參展,為3D視覺(jué)開(kāi)發(fā)者提供多樣化的開(kāi)發(fā)選擇。 VALSE是計(jì)算機(jī)視覺(jué)、圖像處理、模

    2024年02月09日
    瀏覽(371)
  • [ROS2系列] ORBBEC(奧比中光)AstraPro相機(jī)在ROS2進(jìn)行rtabmap 3D建圖

    [ROS2系列] ORBBEC(奧比中光)AstraPro相機(jī)在ROS2進(jìn)行rtabmap 3D建圖

    目錄 背景: 一、驅(qū)動(dòng)AstraPro攝像頭 二、安裝rtabmap error1:缺包 三、嘗試 四、參數(shù)講解 五、運(yùn)行 error2:?Did not receive data since 5 seconds! 六、效果?編輯 error4: 背景: 1、設(shè)備:pc;jeston agx orin 2、環(huán)境:Ubuntu20.04;ROS2(Foxy) 3、主從機(jī)配置,jeston agx orin為主機(jī) 4、 jeston agx orin含有

    2024年02月07日
    瀏覽(66)
  • ORBBEC(奧比中光)AstraPro相機(jī)在ROS2下的標(biāo)定與D2C(標(biāo)定與配準(zhǔn))

    ORBBEC(奧比中光)AstraPro相機(jī)在ROS2下的標(biāo)定與D2C(標(biāo)定與配準(zhǔn))

    相機(jī)自帶的D2C效果不好,顏色和點(diǎn)云沒(méi)有很好地匹配上,自己按照下面的介紹手動(dòng)匹配一下。 在下載來(lái)的sdk,里面沒(méi)有標(biāo)定的文件:ost.yaml. 需要自己進(jìn)行標(biāo)定、生成。 我所使用的相機(jī)型號(hào)是Astra_pro,它是一個(gè)單目結(jié)構(gòu)光相機(jī),有一個(gè)RGB攝像頭+一個(gè)IR攝像頭。從數(shù)量上算是一個(gè)

    2024年02月06日
    瀏覽(19)
  • 實(shí)測(cè) (二)NVIDIA Xavier NX + D435i / 奧比中光Astrapro 相機(jī)+ ORB-SLAM 2 + 3 稠密回環(huán)建圖

    實(shí)測(cè) (二)NVIDIA Xavier NX + D435i / 奧比中光Astrapro 相機(jī)+ ORB-SLAM 2 + 3 稠密回環(huán)建圖

    接著上篇,開(kāi)始o(jì)rb-slam2稠密回環(huán)建圖 先上效果圖 ?這里感謝大神提供一個(gè)可回環(huán)的稠密地圖版本: https://github.com/xiaobainixi/ORB-SLAM2_RGBD_DENSE_MAP.git 2.1 安裝依賴(和orb-slam2環(huán)境配置一樣,如果已經(jīng)配置過(guò),可以跳到pcl安裝) (1)Pangolin(推薦0.5版本) (2)opencv3.2.0(巨坑!!

    2024年02月08日
    瀏覽(24)
  • 實(shí)測(cè) (四)NVIDIA Xavier NX + D435i / 奧比中光Astrapro 相機(jī)+ ORB-SLAM 2 + 3 稠密回環(huán)建圖

    實(shí)測(cè) (四)NVIDIA Xavier NX + D435i / 奧比中光Astrapro 相機(jī)+ ORB-SLAM 2 + 3 稠密回環(huán)建圖

    首先小白老師分享的ORB-SLAM3的可回環(huán)的稠密地圖版本,具體在這篇博客,下載但是卻沒(méi)有相關(guān)的具體實(shí)現(xiàn)教程,這里我們先使用?奧比中光Astrapro 兩款相機(jī)進(jìn)行配置實(shí)現(xiàn) 其實(shí)與orb-slam2的環(huán)境配置一樣,使用的仍然是pagolin0.5,和opencv3.2.0版本(3.4.x也可以),pcl1.8.1+vtk7.1.1 這里

    2024年02月16日
    瀏覽(20)
  • 奧比中光:進(jìn)擊具身智能,打造機(jī)器人之眼

    奧比中光:進(jìn)擊具身智能,打造機(jī)器人之眼

    大數(shù)據(jù)產(chǎn)業(yè)創(chuàng)新服務(wù)媒體 ——聚焦數(shù)據(jù)?· 改變商業(yè) 跨過(guò)奇點(diǎn)的生成式人工智能是一個(gè)缸中大腦,只有賦予形體,才能與物理世界產(chǎn)生互動(dòng)。 在5月的ITF世界半導(dǎo)體大會(huì)上,英偉達(dá)創(chuàng)世人兼CEO黃仁勛說(shuō),人工智能的下一波浪潮將是具身智能。 8月中旬,世界機(jī)器人大會(huì)在北京

    2024年02月11日
    瀏覽(23)
  • 相機(jī)成像原理【第一節(jié)】

    相機(jī)成像原理【第一節(jié)】

    1、膠片攝影與數(shù)碼攝影 膠片攝影是把光學(xué)鏡頭的光信號(hào)投射到膠片上, 數(shù)碼攝影是把光學(xué)鏡頭的光信號(hào)投射到傳感器上,傳感器把光信號(hào)依次處理為電信號(hào)和數(shù)字信號(hào),片上計(jì)算機(jī)再把數(shù)字信號(hào)進(jìn)行處理 2、相機(jī)的組成 2.1 只有傳感器相機(jī)的成像 一棵樹所有的點(diǎn)發(fā)出的光照

    2024年02月12日
    瀏覽(28)
  • 相機(jī)成像原理

    相機(jī)成像原理

    目錄 1、相機(jī)成像原理說(shuō)明 2、相機(jī)成像過(guò)程 2.1、世界坐標(biāo)系-相機(jī)坐標(biāo)系 2.2、相機(jī)坐標(biāo)系–圖像坐標(biāo)系 2.3、圖像坐標(biāo)系–像素平面坐標(biāo)系 3、單點(diǎn)無(wú)畸變的相機(jī)成像模型 ????????近期項(xiàng)目需進(jìn)行單目測(cè)距、及像素坐標(biāo)與實(shí)際物理距離估算,對(duì)相機(jī)成像相關(guān)知識(shí)點(diǎn)進(jìn)行整理

    2024年02月05日
    瀏覽(19)
  • 『紅外相機(jī)』成像原理

    紅外相機(jī)成像原理是利用物體輻射的紅外能量來(lái)獲取圖像。紅外能量是一種不可見(jiàn)的電磁輻射,波長(zhǎng)范圍通常從0.8微米到1000微米。 探測(cè)紅外輻射:紅外相機(jī)使用紅外傳感器(如紅外焦平面陣列)來(lái) 探測(cè)目標(biāo)物體發(fā)射的或反射的紅外輻射 。紅外輻射可以是物體自身的熱輻射(

    2024年02月16日
    瀏覽(15)
  • 3D線掃相機(jī)-沙姆成像原理

    3D線掃相機(jī)-沙姆成像原理

    3D線掃相機(jī),又名激光輪廓儀,3D線激光測(cè)量?jī)x,基本原理:通過(guò)向物體表面投射線激光平面,從而獲取該平面與待測(cè)物體表面交線處三維點(diǎn)坐標(biāo),解算物體深度信息。主要器件:線激光器、鏡頭、芯片、處理板、接口板。 主要原理:三角測(cè)量 其中光學(xué)成像原理:沙姆成像 沙

    2024年02月12日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包