国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python-opencv 手眼標(biāo)定(九點(diǎn)定位)

這篇具有很好參考價(jià)值的文章主要介紹了Python-opencv 手眼標(biāo)定(九點(diǎn)定位)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?Python-opencv 手眼標(biāo)定(九點(diǎn)定位)

前言

本文主要解決相機(jī)像素坐標(biāo)轉(zhuǎn)換機(jī)械臂坐標(biāo)的問(wèn)題,用到的opencv版本為4.5.5.64


一、手眼定位原理?

以下可以參考

基于OpenCv的機(jī)器人手眼標(biāo)定(九點(diǎn)標(biāo)定法)

二、怎么實(shí)現(xiàn)

1.獲得像素坐標(biāo)和機(jī)械坐標(biāo)集

主要思路就是將九點(diǎn)標(biāo)定圖放在機(jī)械臂獲取范圍內(nèi),得到九個(gè)圓心坐標(biāo)(像素坐標(biāo)和機(jī)械臂移動(dòng)到圓心的坐標(biāo))

像素坐標(biāo)的獲取可以參考以下文章:

python opencv鼠標(biāo)點(diǎn)擊圖像顯示坐標(biāo)值

機(jī)械坐標(biāo)請(qǐng)自行解決 ?

2.取得坐標(biāo)系轉(zhuǎn)換的仿射矩陣

全部代碼如下:

import numpy as np
import cv2

# 通過(guò)九點(diǎn)標(biāo)定獲取的圓心相機(jī)坐標(biāo)
STC_points_camera = np.array([
            [207, 160],
            [311, 159],
            [415, 159],
            [206, 256],
            [311, 257],
            [416, 258],
            [205, 353],
            [311, 356],
            [416, 357],
])
# 通過(guò)九點(diǎn)標(biāo)定獲取的圓心機(jī)械臂坐標(biāo)
STC_points_robot = np.array([
            [54, -74],
            [-4, -76],
            [-54, -77],
            [52, -32],
            [-4, -34],
            [-55, -35],
            [50, 11],
            [-4, 10],
            [-54, 8],
])


# 手眼標(biāo)定方法
class HandInEyeCalibration:

    def get_m(self, points_camera, points_robot):
        """
        取得相機(jī)坐標(biāo)轉(zhuǎn)換到機(jī)器坐標(biāo)的仿射矩陣
        :param points_camera:
        :param points_robot:
        :return:
        """
        # 確保兩個(gè)點(diǎn)集的數(shù)量級(jí)不要差距過(guò)大,否則會(huì)輸出None
        m, _ = cv2.estimateAffine2D(points_camera, points_robot)
        return m

    def get_points_robot(self, x_camera, y_camera):
        """
        相機(jī)坐標(biāo)通過(guò)仿射矩陣變換取得機(jī)器坐標(biāo)
        :param x_camera:
        :param y_camera:
        :return:
        """
        m = self.get_m(STC_points_camera, STC_points_robot)
        robot_x = (m[0][0] * x_camera) + (m[0][1] * y_camera) + m[0][2]
        robot_y = (m[1][0] * x_camera) + (m[1][1] * y_camera) + m[1][2]
        return robot_x, robot_y

主要用到了opencv的estimateAffine2D函數(shù),獲得仿射變換矩陣

之后就可以用指定的像素坐標(biāo)進(jìn)行轉(zhuǎn)換了,計(jì)算公式如下:

robot_x = (A * x_camera) + (B * y_camera) + C
robot_y = (D * x_camera) + (E * y_camera) + F

總結(jié)

以上就是今天要講的內(nèi)容,共同學(xué)習(xí)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-487168.html

到了這里,關(guān)于Python-opencv 手眼標(biāo)定(九點(diǎn)定位)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python-opencv實(shí)現(xiàn)目標(biāo)檢測(cè)定位:判斷固定顏色物體是否在規(guī)定區(qū)域內(nèi)

    Python-opencv實(shí)現(xiàn)目標(biāo)檢測(cè)定位:判斷固定顏色物體是否在規(guī)定區(qū)域內(nèi)

    主要實(shí)現(xiàn)實(shí)時(shí)檢測(cè)視頻或者攝像頭中出現(xiàn)的固定顏色(本例中使用綠色)是否在規(guī)定的區(qū)域范圍內(nèi),并將結(jié)果反饋到原視頻上。 實(shí)現(xiàn)的效果如下圖所示: 1、當(dāng)綠色物體出現(xiàn)在屏幕中的黑框中時(shí),在視頻左上角反饋一個(gè)“True”的信息。 2、當(dāng)綠色物體出現(xiàn)在屏幕中但沒(méi)有完全

    2024年01月17日
    瀏覽(15)
  • 機(jī)器人手眼標(biāo)定原理與python實(shí)現(xiàn)

    機(jī)器人手眼標(biāo)定原理與python實(shí)現(xiàn)

    機(jī)器人手眼標(biāo)定分為eye in hand與eye to hand兩種。介紹之前進(jìn)行變量定義說(shuō)明: : base基坐標(biāo)系 {g}: gripper夾具坐標(biāo)系 {t}: target標(biāo)定板坐標(biāo)系 {c}: camera相機(jī)坐標(biāo)系 1、眼在手上(eye in hand) 眼在手上,相機(jī)固定在機(jī)器人上。 圖1. eye in hand示意圖 由以上兩公式得: 經(jīng)變換得: 可得:

    2024年02月02日
    瀏覽(19)
  • 機(jī)械臂進(jìn)行手眼標(biāo)定(眼在手上)python代碼

    執(zhí)行手眼標(biāo)定(eye in hand)步驟: 收集數(shù)據(jù):使用相機(jī)拍攝多張不同角度的標(biāo)定板圖像,并記錄相機(jī)和機(jī)械臂的位姿數(shù)據(jù)。 提取標(biāo)定板角點(diǎn):使用OpenCV庫(kù)中的函數(shù)cv2.findChessboardCorners()提取標(biāo)定板圖像中的角點(diǎn)坐標(biāo)。 計(jì)算相機(jī)內(nèi)參矩陣:使用OpenCV庫(kù)中的函數(shù)cv2.calibrateCamera()計(jì)

    2024年02月16日
    瀏覽(25)
  • 將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣(手眼標(biāo)定)python版本

    將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣(手眼標(biāo)定)python版本

    1、歐拉角版 2、四元數(shù)版 3、旋轉(zhuǎn)矩陣版本 4、齊次矩陣

    2024年02月16日
    瀏覽(19)
  • 機(jī)械臂手眼標(biāo)定ZED相機(jī)——眼在手外python、matlab

    機(jī)械臂手眼標(biāo)定ZED相機(jī)——眼在手外python、matlab

    目錄 1.眼在手外原理 2.附上眼在手外求得手眼矩陣的python代碼 3.眼在手外標(biāo)定步驟 1)打印棋盤(pán)格 2)得到hand數(shù)據(jù) 3)得到camera數(shù)據(jù) 4.運(yùn)行python得到手眼矩陣 ? 眼在手外所求的手眼矩陣是基坐標(biāo)到相機(jī)的轉(zhuǎn)換矩陣 其中: ????????hand為基坐標(biāo)系下抓夾的位姿,一般從示教器

    2024年02月11日
    瀏覽(23)
  • (已修正精度 1mm左右)Realsense d435i深度相機(jī)+Aruco+棋盤(pán)格+OpenCV手眼標(biāo)定全過(guò)程記錄

    (已修正精度 1mm左右)Realsense d435i深度相機(jī)+Aruco+棋盤(pán)格+OpenCV手眼標(biāo)定全過(guò)程記錄

    最近幫別人做了個(gè)手眼標(biāo)定,然后我標(biāo)定完了大概精度能到1mm左右。所以原文中誤差10mm可能是當(dāng)時(shí)那個(gè)臂本身的坐標(biāo)系有問(wèn)題。然后用的代碼改成了基于python的,放在下面。 新來(lái)的小伙伴可以只參考前面的代碼就可以完成標(biāo)定了。 有問(wèn)題的話可以留言,一起交流~ 手眼標(biāo)定

    2024年02月04日
    瀏覽(49)
  • 機(jī)械臂手眼標(biāo)定realsense d435相機(jī)——眼在手上python、matlab

    機(jī)械臂手眼標(biāo)定realsense d435相機(jī)——眼在手上python、matlab

    兩周內(nèi)看了好多博客,博客上的代碼甚至github上的代碼都試過(guò)了一遍,各種語(yǔ)言matlab、c++、python,了解到了許多做手眼標(biāo)定的平臺(tái)——halcon、ros(這倆還需要從頭開(kāi)始學(xué),時(shí)間不太夠用),最后看到了魚(yú)香ros的博客,參考了一下并總結(jié)完整,附鏈接 此博客僅記錄學(xué)習(xí)過(guò)程總結(jié)

    2024年02月15日
    瀏覽(59)
  • 手眼標(biāo)定必備——旋轉(zhuǎn)向量轉(zhuǎn)換為旋轉(zhuǎn)矩陣python——羅德里格斯公式Rodrigues

    手眼標(biāo)定必備——旋轉(zhuǎn)向量轉(zhuǎn)換為旋轉(zhuǎn)矩陣python——羅德里格斯公式Rodrigues

    在使用matlab工具箱對(duì)相機(jī)標(biāo)定后,得到的旋轉(zhuǎn)向量轉(zhuǎn)換為旋轉(zhuǎn)矩陣 ? 參考旋轉(zhuǎn)向量和旋轉(zhuǎn)矩陣的互相轉(zhuǎn)換(python cv2.Rodrigues()函數(shù))_旋轉(zhuǎn)向量轉(zhuǎn)旋轉(zhuǎn)矩陣_FC_code的博客-CSDN博客 p為輸入的旋轉(zhuǎn)向量cameraParams.RotationVectors 得到旋轉(zhuǎn)矩陣cameraParams.RotationMatrices 結(jié)果為 轉(zhuǎn)置之后,剛好

    2024年02月04日
    瀏覽(27)
  • 手機(jī)拍照轉(zhuǎn)機(jī)器人末端坐標(biāo)(九點(diǎn)標(biāo)定法)

    手機(jī)拍照轉(zhuǎn)機(jī)器人末端坐標(biāo)(九點(diǎn)標(biāo)定法)

    在圖示位置讀取九個(gè)點(diǎn)的X,Y坐標(biāo) 測(cè)試可以隨機(jī)拍一張,實(shí)用的話需要固定手機(jī)的拍照位置,得到的圖片如下: ?實(shí)用如下代碼顯示這個(gè)圖片,用鼠標(biāo)懸停取抄寫(xiě)坐標(biāo) 效果如下: 鼠標(biāo)懸停在P1上,在左下角就可以讀取這個(gè)像素坐標(biāo)值了。 驗(yàn)證算法如下: 運(yùn)行后結(jié)果分析:

    2024年02月06日
    瀏覽(25)
  • 基于OpenCV的單目相機(jī)標(biāo)定與三維定位

    基于OpenCV的單目相機(jī)標(biāo)定與三維定位

    ???????相機(jī)是產(chǎn)生圖像數(shù)據(jù)的硬件,廣泛應(yīng)用于消費(fèi)電子、汽車(chē)、安防等領(lǐng)域。圍繞著相機(jī)衍生出一系列的研究與應(yīng)用領(lǐng)域,包括傳統(tǒng)的圖像處理和基于深度學(xué)習(xí)的智能應(yīng)用等。目前大火的自動(dòng)駕駛中相機(jī)也是重要的硬件組成,如環(huán)視用魚(yú)眼相機(jī),adas用周視相機(jī)。 ? ?

    2024年02月09日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包