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給圖像賦值Aset_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
審核編輯 :李倩
-
3D
+關注
關注
9文章
3011瀏覽量
115047 -
數組
+關注
關注
1文章
420瀏覽量
27357 -
點云
+關注
關注
0文章
59瀏覽量
4076
原文標題:Halcon 3D點云和深度圖的相互轉化
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
常見3D打印材料介紹及應用場景分析
iDS iToF Nion 3D相機,開啟高性價比3D視覺新紀元!
iSUN3D即將推出單組分彈性樹脂3D打印解決方案!
玩轉 KiCad 3D模型的使用
索尼與VAST達成3D業務合作
TechWiz LCD 3D應用:FFS仿真
英倫科技10.1英寸裸眼3D數碼相框升級了,玩轉AI文生圖太cool了!
如何將FlexRay信號轉為Can信號
一種以圖像為中心的3D感知模型BIP3D
如何將灰度圖轉為3D點云
評論