情報詳細Q:エッジサポートサーフェスマッチングを使う際にfind_surface_model_imageを実行するとRequired 2D mapping missing in 3D object model (HALCONエラーコード: 9521)が発生します。走査時の3D Objectはread_object_model_3dで3D点群データ(ply)を読み込んでいます。A:find_surface_model_image の入力引数ObjectModel3Dは、3d Objectの属性のXYZ mappingが必要でしてplyから読み込んだ画像にはこれがありません。HDevelopの変数ビューウィンドウでObjectModel3Dをダブルクリックし、Parametersのpointsを選択するとXYZ mappingが'none'となっています。表示イメージは下記URLになります。ファイルXYZmapping情報表示.pngこれをXYZ mapping 'true'とするためには、下記操作が必要となります。object_model_3d_to_xyz (X1, Y1, Z1, ObjectModel3D, 'cartesian', CameraParam, PoseToObject)を用いて、一旦3D ObjectからX画像、Y画像、Z画像にします。この際使うCameraParamとPoseToObjectはHALCONでキャリブレーションした結果を利用してください。PoseToObjectは、カメラから対象物までの姿勢情報でして、例えば、キャリブレーション時にget_calib_data_observ_pointsやget_calib_data_observ_poseなどを用いて取得した1枚目のキャリブレーションプレートの位置姿勢を使用しても問題ありません。続いて、xyz_to_object_model_3d (X1, X1, X1, ObjectModel3D1) を用いて、X画像、Y画像、Z画像を再度3D Objectに変換することでXYZ mappingのついた3D Objectとなります。※本オペレータはHALCON13以降から使えるようになったオペレータです。HALCON18.11でも現象が発生することを確認しました。 添付ファイルXYZmapping情報表示.pngタイトルfind_surface_model_imageでエラー9521が発生URL 名000005640公開状況公開済み検証状況公開済み