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

Halcon中的一些3D算子

這篇具有很好參考價(jià)值的文章主要介紹了Halcon中的一些3D算子。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、記錄一些Halcon里的關(guān)于3D的算子

1.read_object_model_3d? 從文件讀取一個(gè)3d模型

如下圖,讀的一個(gè)ply文件出來是個(gè)3d點(diǎn)云模型

Halcon中的一些3D算子

Halcon中的一些3D算子

?2.visualize_object_model_3d? 交互式展示3d模型

即上個(gè)算子讀出來后,通過這個(gè)算子可以把3d模型顯示出來旋轉(zhuǎn)、平移,縮放來觀察操作

算子簽名

visualize_object_model_3d( : : WindowHandle, ObjectModel3D, CamParam, PoseIn, GenParamName, GenParamValue, Title, Label, Information : PoseOut)

WindowHandle:顯示窗口句柄

ObjectModel3D:需要展示的3d模型

CamParam:假想的觀察這個(gè)模型的一個(gè)面陣相機(jī)的內(nèi)參

PoseIn:這個(gè)模型的3d姿態(tài)

GenParamName:參數(shù)名

GenParamValue:參數(shù)值

Title:展示在窗口左上角的文字

Label:在每個(gè)3d模型位置顯示的文本

Information:窗口左下角顯示的信息

PoseOut:用戶調(diào)整模型姿態(tài)后輸出這個(gè)3d姿態(tài)

其中參數(shù)名和參數(shù)值有很多,

舉例 參數(shù)名color 參數(shù)值green? ? 將模型顏色變?yōu)榫G色

參數(shù)名 color_attrib 參數(shù)值coord_z 類似于z軸方向的漸變色ba

參數(shù)名?disp_pose 參數(shù)值 true? 顯示出坐標(biāo)軸

3.connection_object_model_3d? 分離3d模型中的各個(gè)連通域

算子簽名

connection_object_model_3d( : : ObjectModel3D, Feature, Value : ObjectModel3DConnected)

可以通過調(diào)節(jié)distance_3d參數(shù),把一些噪點(diǎn)分離出來

4.select_object_model_3d? 根據(jù)全局特征從3d模型組中選取符合特征的3d模型們

算子簽名

select_object_model_3d( : : ObjectModel3D, Feature, Operation, MinValue, MaxValue : ObjectModel3DSelected)

如可以設(shè)置參數(shù)'num_points'? 模型點(diǎn)的數(shù)量,去除一部分點(diǎn)數(shù)少的模型,如噪點(diǎn)

5.union_object_model_3d 合并多個(gè)3d模型們成一個(gè)新的3d模型

算子簽名

union_object_model_3d( : : ObjectModels3D, Method : UnionObjectModel3D)

3、4、5的操作可以用來去除噪點(diǎn),如下圖,去除噪點(diǎn)之后的3d模型

Halcon中的一些3D算子

?6.surface_normals_object_model_3d 計(jì)算3d模型的表面法線

算子簽名

surface_normals_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectModel3DNormals)

這個(gè)算子計(jì)算模型表面法線。在3d點(diǎn)云匹配創(chuàng)建3d匹配模型的時(shí)候,需要模型帶表面法線信息才可以用來創(chuàng)建。

7.max_diameter_object_model_3d 計(jì)算3d模型最大直徑

8.?create_pose 創(chuàng)建3D位姿

算子簽名:

create_pose( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose)

這個(gè)算子有一些參數(shù),主要是通過各方向平移和旋轉(zhuǎn)得到一個(gè)新的3d位姿。后面一些參數(shù)控制平移旋轉(zhuǎn)先后順序還有繞哪個(gè)坐標(biāo)系下的軸,詳細(xì)可查對(duì)應(yīng)算子說明。

9.rigid_trans_object_model_3d 將剛性三維變換應(yīng)用于這個(gè)3d模型

可以用這個(gè)算子對(duì)某個(gè)模型進(jìn)行剛性變換、即平移和旋轉(zhuǎn)??梢杂蒙蟼€(gè)算子的pose作為變換參數(shù)

如下圖,做了變換

Halcon中的一些3D算子

?變換后,原點(diǎn)位置,姿態(tài)都變了

Halcon中的一些3D算子

10.sample_object_model_3d? 對(duì)3d模型進(jìn)行采樣

算子簽名

sample_object_model_3d( : : ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue : SampledObjectModel3D)

SampleDistance:這個(gè)采樣距離,隔多少距離采集一個(gè)點(diǎn),可以先求出3d模型的最大直徑乘以一個(gè)比例系數(shù)來得到這個(gè)采樣距離,如Diameter*0.003 最大直徑的0.003倍,及最大直徑上取333個(gè)采樣點(diǎn),乘的系數(shù)越小,點(diǎn)越多。

11.create_surface_model 創(chuàng)建一個(gè)用于基于曲面3d匹配的數(shù)據(jù)結(jié)構(gòu)

算子簽名

create_surface_model( : : ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue : SurfaceModelID)

RelSamplingDistance:這里的相對(duì)采樣距離跟上面那個(gè)采樣距離不一樣,填0.05即取總點(diǎn)數(shù)乘以0.05個(gè)點(diǎn),越小點(diǎn)越少

Halcon中的一些3D算子

?12.find_surface_model 在3d場(chǎng)景中找到模型的最佳匹配

算子簽名:

find_surface_model( : : SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue : Pose, Score, SurfaceMatchingResultID)

挺多參數(shù),不一一寫了

13.refine_surface_model_pose?優(yōu)化三維場(chǎng)景中曲面模型的姿勢(shì)

上一步算出來的姿態(tài)可以再給進(jìn)這個(gè)算子優(yōu)化一下

14.pose_invert 反轉(zhuǎn)姿態(tài)

這樣上面find的姿態(tài),是預(yù)先做的模型通過變換匹配到場(chǎng)景中的位置,反轉(zhuǎn)這個(gè)姿態(tài),可以將場(chǎng)景變換回模型的位置,用于后期分析處理

用rigid_trans_object_model_3d變換后,和之前創(chuàng)建的3d模型匹配上了,如下圖顯示

Halcon中的一些3D算子文章來源地址http://www.zghlxwxcb.cn/news/detail-510824.html

二、halcon測(cè)試代碼:

dev_close_window ()
dev_open_window (0, 0, 1200, 800, 'black', WindowHandle)
*讀取單幀點(diǎn)云ply文件
read_object_model_3d('D:/項(xiàng)目/tray盤/230425-匯川-tray盤/3d導(dǎo)出.ply', 'mm', [], [], ObjectModel3D, Status)




Instructions[0] := 'Rotate: Left button'
Instructions[1] := 'Zoom:   Shift + left button'
Instructions[2] := 'Move:   Ctrl  + left button'

Message := 'Hik3D PointCloud'
*虛擬化模型并且顯示
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['color','color_attrib','disp_pose'], ['green','coord_z','true'], Message, [], Instructions, PoseOut)
dev_clear_window ()

connection_object_model_3d (ObjectModel3D, 'distance_3d', 0.001, ObjectModel3DConnected)

select_object_model_3d (ObjectModel3DConnected, 'num_points', 'and', 2000, 1e30, ObjectModel3DSelected)

union_object_model_3d (ObjectModel3DSelected, 'points_surface', UnionObjectModel3D)


visualize_object_model_3d (WindowHandle, UnionObjectModel3D, [], [], ['color','color_attrib','disp_pose'], ['green','coord_z','true'], Message, [], Instructions, PoseOut)

dev_clear_window ()
surface_normals_object_model_3d (UnionObjectModel3D, 'mls', [], [], ObjectModel3DNormals)


max_diameter_object_model_3d (ObjectModel3DNormals, Diameter)

create_pose (0.13, 0.13, 0.028, 0, 0,180, 'Rp+T', 'gba', 'point', Pose4)
rigid_trans_object_model_3d (ObjectModel3DNormals, Pose4, ObjectModel3DRigidTrans1)

sample_object_model_3d (ObjectModel3DRigidTrans1, 'fast',Diameter*0.003, [], [], SampledObjectModel3D)



visualize_object_model_3d (WindowHandle, SampledObjectModel3D, [], [], ['color','color_attrib','disp_pose'], ['green','coord_z','true'], Message, [], Instructions, PoseOut)
dev_clear_window ()
create_surface_model (ObjectModel3DRigidTrans1, 0.01, [], [], SurfaceModelID)


read_object_model_3d ('D:/項(xiàng)目/tray盤/230425-匯川-tray盤/帶圍擋/1-3d導(dǎo)出', 'mm', 'convert_to_triangles', 'true', ObjectModel3D1, Status1)


sample_object_model_3d (ObjectModel3D1, 'fast', Diameter*0.01, [], [], SampledObjectModel3D1)

find_surface_model (SurfaceModelID, SampledObjectModel3D1, 0.02, 0.2, 0, 'false', [], [], Pose, Score, SurfaceMatchingResultID)

refine_surface_model_pose (SurfaceModelID, SampledObjectModel3D1, Pose, 0, 'false', [], [], Pose1, Score1, SurfaceMatchingResultID1)


pose_invert (Pose1, PoseInvert)

rigid_trans_object_model_3d (SampledObjectModel3D1, PoseInvert, ObjectModel3DRigidTrans)
dev_clear_window ()

create_pose (-0.05, -0.06, 10, 134, 340, 235, 'Rp+T', 'gba', 'point', Pose2)

create_pose (-0.05+Pose1[0], -0.06+Pose1[1], 10+Pose1[2], 134+Pose1[3], 340+Pose1[4], 235+Pose1[5], 'Rp+T', 'gba', 'point', Pose3)



visualize_object_model_3d (WindowHandle, [ObjectModel3DRigidTrans,ObjectModel3DRigidTrans1], [], Pose2, ['color_0','color_1','disp_pose'], ['gray','green','true'], [], [], [], PoseOut1)

dev_clear_window ()
visualize_object_model_3d (WindowHandle, [ObjectModel3D1,ObjectModel3DRigidTrans1], [], [Pose3,Pose2], ['alpha','color_0','color_1','disp_pose'], [0.5,'yellow','green','true'], [], [], [], PoseOut1)

到了這里,關(guān)于Halcon中的一些3D算子的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • HALCON visualize_object_model_3d 算子原理的理解以及使用HSmartWindowControlWPF重實(shí)現(xiàn)

    HALCON visualize_object_model_3d 算子原理的理解以及使用HSmartWindowControlWPF重實(shí)現(xiàn)

    1. 參數(shù)說明 WindowHandle:顯示點(diǎn)云的窗口句柄 ObjectModel3D:待顯示的點(diǎn)云對(duì)象 CamParam:相機(jī)內(nèi)參 此處的相機(jī)指的是一個(gè)虛擬相機(jī),為觀察點(diǎn)云提供一個(gè)視角,如下圖,點(diǎn)云在一個(gè)場(chǎng)景坐標(biāo)系中(SCS),我們?cè)赪indowHandle中看到的點(diǎn)云效果就是通過此虛擬相機(jī)看到的點(diǎn)云 該值可以

    2024年02月14日
    瀏覽(145)
  • 嚼一嚼Halcon中的3D手眼標(biāo)定

    嚼一嚼Halcon中的3D手眼標(biāo)定

    一、問題概述 1、何為手眼標(biāo)定? 要讓機(jī)器人的手抓住杯子,就必須知道 杯子跟手的相對(duì)位置關(guān)系 ,而杯子的位置則是通過機(jī)器人的眼睛看見的,所以,我們只需要知道 機(jī)器人的手和眼睛的轉(zhuǎn)換關(guān)系 ,就可以隨時(shí)抓取機(jī)器人眼睛所看到的物體了。 2、手眼標(biāo)定的2種形式 1)

    2024年02月04日
    瀏覽(21)
  • 3D Matching:實(shí)現(xiàn)halcon中的find_surface_model

    3D Matching:實(shí)現(xiàn)halcon中的find_surface_model

    ????????halcon中的三維匹配大致分為兩類,一類是基于形狀的(Shape-Based),一類是基于表面的(Surface-Based)?;谛螤畹钠ヅ淇捎糜趩蝹€(gè)2D圖像中定位復(fù)雜的3D物體,3D物體模型必須是CAD模型,且?guī)缀芜吘壡逦梢?,使用的相機(jī)也要預(yù)先進(jìn)行校準(zhǔn)?;诒砻娴钠ヅ淇捎糜?D場(chǎng)景中

    2024年04月11日
    瀏覽(30)
  • Halcon常用算子匯總

    持續(xù)更新ing

    2024年02月16日
    瀏覽(26)
  • Halcon常用算子(庫函數(shù))整理

    Halcon常用算子(庫函數(shù))整理

    新手在剛接觸Halocon時(shí)往往不明所以,而官方文檔上的解釋又讓初學(xué)者云里霧里,本文整理了halocon常用算子(庫函數(shù)),供開發(fā)者快速查閱。 tuple_length(Area0,len) 數(shù)組里元素的個(gè)數(shù) tuple_find_first(Area0,sMax,i) 找到第一個(gè)是sMax的,返回索引 創(chuàng)建數(shù)組 tuple_gen_const( : : Length, Const : Newtupl

    2024年01月21日
    瀏覽(24)
  • Halcon濾波器 laplace 算子

    Halcon濾波器 laplace 算子

    使用laplace 算子對(duì)圖像進(jìn)行二次求導(dǎo),會(huì)在邊緣產(chǎn)生零點(diǎn),因此該算子常常與zero_crossing算子配合使用。求出這些零點(diǎn),也就得到了圖像的邊緣。同時(shí),由于laplace算子對(duì)孤立像素的響應(yīng)要比對(duì)邊緣或線的響應(yīng)更強(qiáng)烈,因此在檢測(cè)之前應(yīng)先進(jìn)行去噪處理。 該算子的原型如下: 其

    2024年02月01日
    瀏覽(28)
  • 關(guān)于Matterport3D的一些學(xué)習(xí)

    關(guān)于Matterport3D的一些學(xué)習(xí)

    這是一個(gè)大型RGB-D數(shù)據(jù)集,包含90個(gè)建筑規(guī)模場(chǎng)景,由194400個(gè)RGB-D圖像組成的10800個(gè)全景圖構(gòu)成。注釋提供有 表面重建 、 相機(jī)姿勢(shì)以及2D和3D語義分割 。精確的全局對(duì)齊和整個(gè)建筑的全面、多樣化的全景視圖集實(shí)現(xiàn)了各種監(jiān)督和自我監(jiān)督的計(jì)算機(jī)視覺任務(wù),包括關(guān)鍵點(diǎn)匹配、視

    2024年01月17日
    瀏覽(22)
  • 關(guān)于工作中爬取網(wǎng)站的一些思路記錄

    關(guān)于工作中爬取網(wǎng)站的一些思路記錄

    聲明:只是因?yàn)楣ぷ髦行枰?,且基本不?huì)對(duì)別人的網(wǎng)站構(gòu)成什么不好的影響,做個(gè)思路記錄?。?! 尊重網(wǎng)站所有者、控制請(qǐng)求頻率、遵守網(wǎng)站規(guī)則、尊重個(gè)人隱私 平常工作中難免會(huì)遇到需要爬取別人網(wǎng)站的需求,例如爬取兌換之類的流程,把接口爬取下來封裝到項(xiàng)目中,這

    2024年02月07日
    瀏覽(25)
  • 關(guān)于laravel使用Elastic Search的一些記錄

    關(guān)于laravel使用Elastic Search的一些記錄

    1. 準(zhǔn)備工作 因?yàn)槲冶镜豴hp版本是7.3.4,不支持太高的es。 所以使用如下環(huán)境: laravel6 + php7.3.4 + elastic search 7.17.2 2. 本地安裝elastic search 注意事項(xiàng): 如果是8以上版本,初次啟動(dòng)時(shí)會(huì)生成密碼。安裝成功以后,訪問 https://localhost:9200/ ,會(huì)提示輸入密碼。用戶名為elastic,密碼就是

    2024年02月11日
    瀏覽(21)
  • Halcon邊緣檢測(cè)Sobel、Laplace和Canny算子

    Halcon邊緣檢測(cè)Sobel、Laplace和Canny算子

    提示:文章參考了網(wǎng)絡(luò)上其他作者的文章,以及相關(guān)書籍,如有侵權(quán),請(qǐng)聯(lián)系作者。 ???????除了閾值分割外,也可以通過檢測(cè)區(qū)域的邊緣得到目標(biāo)區(qū)域。區(qū)域的邊緣像素的灰度值往往會(huì)發(fā)生灰度上的突變,針對(duì)這些跳躍性的突變進(jìn)行檢測(cè)和計(jì)算,可以得到區(qū)域的邊緣輪廓

    2023年04月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包