日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

Halcon 3D点云和深度图的相互转化

發布時間:2024/3/13 ChatGpt 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Halcon 3D点云和深度图的相互转化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3D點云和深度圖

  • 1. 如何將灰度圖轉為3D點云
  • 2. 創建一張深度圖
  • 3. 深度圖轉點云、點云轉深度圖
  • 4. 代碼和圖片下載地址

1. 如何將灰度圖轉為3D點云

  • 這里所說的灰度圖轉為3D點云,其實是將灰度圖像每個像素的行列坐標作為3D點云的X,Y坐標,像素的灰度值(0—255)作為三維點的Z坐標。
  • 簡單說就是將一張灰度圖像拆成了三個數組:X,Y,Z,然后將這三個數組轉為點云。

    halcon代碼:
dev_get_window (WindowHandle) read_image (Image, '1.bmp') rgb1_to_gray (Image, GrayImage)*獲取圖像尺寸 get_image_size (GrayImage, Width, Height) gen_rectangle1 (Rectangle, 0, 0, Height-1,Width-1) *從區域生成所有的像素坐標 get_region_points(Rectangle, X, Y) *讀取圖像的全部像素 get_grayval(GrayImage, X, Y, Z) *創建3D對象模型 gen_object_model_3d_from_points(X, Y, Z, ObjectModel3D) *顯示3D模型 visualize_object_model_3d (WindowHandle,ObjectModel3D , [], [], [], [], [], [], [], PoseOut)

2. 創建一張深度圖

  • 實際上深度圖是使用X,Y,Z三個數組的數據創建來的;
  • X,Y是作為圖像的行列坐標,Z是實數(表示的是深度/高度),而不是灰度,因為灰度值是0——255之間的整數;
  • Z的值是能夠返回高度信息的傳感器獲取到的,比如點激光、線激光,結構光等。
  • 下面是自己賦值得到的一張深度圖。
dev_get_window (WindowHandle) read_image (Image, '2.bmp') rgb1_to_gray (Image, GrayImage) *獲取圖像尺寸 get_image_size (GrayImage, Width, Height) gen_rectangle1 (Rectangle, 0, 0, Height-1,Width-1) *從區域生成所有的像素坐標 get_region_points(Rectangle, X, Y) *讀取圖像的全部像素 get_grayval(GrayImage, X, Y, Z)*改變Z的值 Z:=Z-256*對在Rectangle2區域中的像素進行賦值 gen_rectangle1 (Rectangle2, 101, 101, 140,140) get_region_points(Rectangle2, X2, Y2) Z[X2*400+Y2]:=2.4*創建一張類型為'real'的圖像 gen_image_const (ImageConst, 'real', Width, Height) *使用X,Y,Z給圖像賦值A set_grayval (ImageConst, X, Y, Z)

3. 深度圖轉點云、點云轉深度圖

  • 接下來我們加載一張真正的深度圖,它是由線激光采集數據得到的,保存格式為tiff文件;
  • 這是截取了其中一段圖像,掃描的是電路板上一些元器件和焊點的高度。
read_image (Image, '3DImage1.tiff') get_image_size (Image, Width, Height)*1. 這一步是將灰度圖轉為了X,Y,Z三個數組,當然也就可以轉為三位點云了 *獲取圖像尺寸 get_image_size (Image, Width, Height) gen_rectangle1 (Rectangle, 0, 0, Height-1,Width-1) *從區域生成所有的像素坐標 get_region_points(Rectangle, X, Y) *讀取圖像的全部像素 get_grayval(Image, X, Y, Z)*2. 再將X,Y,Z這三個數組轉回深度圖,實際應用中,線機光返回的數據就是Z數組,X,Y數組由自己創建 *創建一個空圖像,注意type選擇'real' gen_image_const (ImageConst, 'real', Width, Height) *然后使用數組填充圖像,這樣就完成了 set_grayval (ImageConst, X, Y, Z)*3. 接下來就可以對深度圖做進一步處理了。。。

4. 代碼和圖片下載地址

https://download.csdn.net/download/weixin_38566632/19765495

總結

以上是生活随笔為你收集整理的Halcon 3D点云和深度图的相互转化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。