explore_halcon.hdev(29)之p_do_mosaicking函數模塊

函數:

對圖像進行拼接,拼接步驟:1.讀取圖像 2.計算特徵點 3.計算變換矩陣 4.拼接

效果圖:

算子:

1.change_radial_distortion_cam_par( : : Mode, CamParamIn, DistortionCoeffs : CamParamOut):根據指定的徑向畸變確定新的相機參數。不適用與線掃描相機

參數:

Mode:

  • 'fixed':只修改畸變係數,其他相機內部參數不變。會導致場景可見部分的變化
  • 'fullsize':縮放係數和圖像中心會修改爲了保護場景中的可見部分。因此,原始圖像中可見的所有點在校正圖像中也可見。通常,這會導致修改後的圖像中沒有定義像素
  • 'adaptive':是其他模式之間的權衡。場景的可見部分略微減少,以防止修改圖像中的未定義像素。縮放因子與中心點修改
  • 'preserve_resolution':在fullsize'模式下,原始圖像中可見的所有點在修改後的圖像中也可見。修改後圖像的大小增加了,保證校正後的圖像任何部分的分辨率都不會降低

原始圖像:

校正後圖像:

      

2.tile_images_offset(Images : TiledImage : OffsetRow, OffsetCol, Row1, Col1, Row2, Col2, Width, Height : ):將多個圖像對象平鋪到具有明確定位信息的大圖像中

3.points_harris(Image : : SigmaGrad, SigmaSmooth, Alpha, Threshold : Row, Column):使用Harris查找感興趣點

參數:

Image :輸入圖像

SigmaGrad:用於計算梯度的平滑量

SigmaSmooth:用於梯度積分的平滑量

Alpha :平方梯度矩陣的平方跡的權值
Threshold:點的最小濾波器響應
Row、 Column :檢測點的行列座標

4.proj_match_points_ransac(Image1, Image2 : : Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed : HomMat2D, Points1, Points2):通過查找點與點之間的對應,計算兩個圖像之間的投影變換矩陣

參數:

GrayMatchMethod:灰度值比較度量( 'ssd':使用的是灰度值差異的平方和。'sad':絕對差的和。'ncc' :標準化的互相關)

MaskSize:灰度值掩膜大小

RowMove、ColMove:平均行、列座標移位(第二幅圖像中心點相對於第一幅圖像中位置點的偏移量)

RowTolerance、ColTolerance:匹配搜索窗口高度、寬度的一半(確定圖像中計算點的區域)

Rotation:旋轉角度範圍

MatchThreshold:灰度匹配閾值

EstimationMethod:變換矩陣估計算法

DistanceThreshold:轉換一致性檢查的閾值

RandSeed :隨機數生成器的種子

轉換的步驟:首先,確定第一幅和第二幅圖像中掩膜在輸入點附近的灰度值相關性,並利用兩幅圖像中窗口的相似性生成掩膜之間的初始匹配,掩膜大小MaskSize*MaskSize。

5.bundle_adjust_mosaic( : : NumImages, ReferenceImage, MappingSource, MappingDest, HomMatrices2D, Rows1, Cols1, Rows2, Cols2, NumCorrespondences, Transformation : MosaicMatrices2D, Rows, Cols, Error):執行圖像鑲嵌的束調整

參數:

NumImages:用於校準的不同圖像的數量

ReferenceImage:參考圖像的索引

MappingSource:轉換源圖像的索引

MappingDest:變換的目標圖像的指標

HomMatrices2D:3*3投影變換矩陣數組

Rows1、Cols1:對應點在各自源圖像中的行、列座標

Rows2、Cols2:對應點在各自目標圖像中的行、列座標

NumCorrespondences:各圖像對中的對應點數

Transformation :要使用的轉換類

6.dev_set_window_extents( : : Row, Column, Width, Height : ):改變活動圖形窗口的位置和大小

7.gen_bundle_adjusted_mosaic(Images : MosaicImage : HomMatrices2D, StackingOrder, TransformDomain : TransMat2D):將多個圖像拼接成一個圖像

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章