如何转换成实际的空间坐标呢
-
有一个这样的问题,我识别到了 键盘上按键的色块 如何转换成实际的空间坐标呢
色块信息:
Find the color_key is green:Fn, value is {"x":28, "y":128, "w":14, "h":15, "pixels":159, "cx":35, "cy":135, "rotation":1.043973, "code":1, "count":1, "perimeter":73, "roundness":0.766722}
Find the color_key is orange:Space, value is {"x":114, "y":129, "w":12, "h":7, "pixels":73, "cx":119, "cy":132, "rotation":3.048802, "code":1, "count":1, "perimeter":54, "roundness":0.352040}
Find the color_key is purple:L, value is {"x":177, "y":90, "w":11, "h":13, "pixels":85, "cx":182, "cy":97, "rotation":1.102527, "code":1, "count":1, "perimeter":66, "roundness":0.558663}
Find the color_key is brightblue:UpArrow, value is {"x":223, "y":124, "w":15, "h":15, "pixels":186, "cx":230, "cy":131, "rotation":1.758328, "code":1, "count":1, "perimeter":76, "roundness":0.766451}
Find the color_key is yellow:DownArrow, value is {"x":222, "y":141, "w":13, "h":13, "pixels":158, "cx":228, "cy":147, "rotation":2.077412, "code":1, "count":1, "perimeter":55, "roundness":0.875191}
Find the color_key is red:Q, value is {"x":32, "y":77, "w":10, "h":14, "pixels":116, "cx":37, "cy":83, "rotation":1.636310, "code":1, "count":1, "perimeter":80, "roundness":0.454262}AprilTag:
{"x":21, "y":172, "w":31, "h":32, "id":0, "family":16, "cx":37, "cy":188, "rotation":0.121171, "decision_margin":0.315529, "hamming":0, "goodness":0.000000, "x_translation":0.740198, "y_translation":-10.245899, "z_translation":-7.164581, "x_rotation":3.253287, "y_rotation":6.082533, "z_rotation":0.121171}
-
这个转换你得自己写。没有现成的例子。
-
@kidswong999 大佬 可以提供一下思路吗?马上跟老板对实现方案了,后面会大面积推广,麻烦了
-
@sqph 你先说完整的需求,从背景信息,到方案设计。
-
@kidswong999 主要是识别键盘按键实现点击操作(AprilTag用来识别机器,色块用来识别按键),摄像头挂在机械臂上,机械臂没有办法 和 摄像头实现联动 (不能实现 追小球的小车的方案), 是单独的机械臂和 OpenMV摄像头, 摄像头识别到按键之后需要转换为空间坐标 传给机械臂去移到,这个空间坐标如何转换?
-
在键盘四个角用四个apriltag,摄像头知道了四个角的位置,然后根据摄像头中的坐标,在四角的位置,就可以计算出目标在哪个位置。