最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

opencv 攝像機標定的實現

 更新時間:2022年02月04日 10:18:00   作者:默涼  
本文主要介紹了opencv 攝像機標定的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

原圖

在這里插入圖片描述

矯正后

在這里插入圖片描述

我新建了個jz的文件夾放相機矯正所需要拍攝的圖片,如下:共12張

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

 

# coding:utf-8
import cv2
import numpy as np
import glob

# 找棋盤格角點
# 閾值
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
# 棋盤格模板規(guī)格 從0開始計算
w = 9
h = 6
# 世界坐標系中的棋盤格點,例如(0,0,0), (1,0,0), (2,0,0) ....,(8,5,0),去掉Z坐標,記為二維矩陣
objp = np.zeros((w * h, 3), np.float32)
objp[:, :2] = np.mgrid[0:w, 0:h].T.reshape(-1, 2)
# 儲存棋盤格角點的世界坐標和圖像坐標對
objpoints = []  # 在世界坐標系中的三維點
imgpoints = []  # 在圖像平面的二維點

# 匹配讀取文件夾內的特定文件
images = glob.glob('jz/*.jpg')
for fname in images:
    img = cv2.imread(fname)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 找到棋盤格角點
    ret, corners = cv2.findChessboardCorners(gray, (w, h), None)
    # 將角點在圖像上顯示
    cv2.drawChessboardCorners(img, (w, h), corners, ret)
    cv2.imshow('findCorners', img)
    cv2.waitKey(500)
    cv2.destroyAllWindows()
    # 如果找到足夠點對,將其存儲起來
    if ret == True:
        cv2.cornerSubPix(gray, corners, (11, 11), (-1, -1), criteria)
        objpoints.append(objp)
        imgpoints.append(corners)


# 標定
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1], None, None)

# 在應用時,將下面兩個寫死
print(mtx)
print(dist)

# 去畸變
img2 = cv2.imread('77.jpg')
h, w = img2.shape[:2]
newcameramtx, roi = cv2.getOptimalNewCameraMatrix(mtx, dist, (w, h), 0, (w, h))  # 自由比例參數
dst = cv2.undistort(img2, mtx, dist, None, newcameramtx)
# 根據前面ROI區(qū)域裁剪圖片
# x,y,w,h = roi
# dst = dst[y:y+h, x:x+w]
cv2.imwrite('1.jpg', dst)
cv2.imshow('findCorners', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

到此這篇關于opencv 攝像機標定的實現的文章就介紹到這了,更多相關opencv 攝像機標定內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 關于Python解包知識點總結

    關于Python解包知識點總結

    在本篇文章里小編給各位分享的是關于Python解包知識點總結,有興趣的朋友們可以學習參考下。
    2020-05-05
  • Tensorflow深度學習使用CNN分類英文文本

    Tensorflow深度學習使用CNN分類英文文本

    這篇文章主要為大家介紹了Tensorflow深度學習CNN實現英文文本分類示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • Python中的迭代和列表生成式

    Python中的迭代和列表生成式

    這篇文章主要介紹了Python中的迭代和列表生成式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>
    2024-02-02
  • python視頻轉化字節(jié)問題的完整實現

    python視頻轉化字節(jié)問題的完整實現

    在Python中可以將視頻和字節(jié)進行轉換,下面這篇文章主要給大家介紹了關于python視頻轉化字節(jié)問題的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Python三元表達式的基本用法詳解

    Python三元表達式的基本用法詳解

    Python的三元表達式是一種緊湊、簡潔的條件表達式,允許在一行代碼中根據條件選擇不同的值,三元表達式通常用于需要在單行中根據條件進行值選擇的情況,有助于提高代碼的可讀性和簡潔性,本文給大家介紹了Python三元表達式的基本用法,需要的朋友可以參考下
    2023-10-10
  • python實現Dijkstra算法的最短路徑問題

    python實現Dijkstra算法的最短路徑問題

    這篇文章主要介紹了python實現Dijkstra算法的最短路徑問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • python字符串中加空格的四種方法

    python字符串中加空格的四種方法

    本文主要介紹了python字符串中加空格的四種方法,包括使用加法運算符、join()方法、format()方法和f-string,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Python實現一個列表分割成多個列表的四種示例

    Python實現一個列表分割成多個列表的四種示例

    本文主要介紹了Python實現一個列表分割成多個列表的四種示例,包括使用循環(huán)、切片操作、itertools.groupby()和numpy的array_split(),具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • python實操案例練習(八)

    python實操案例練習(八)

    這篇文章主要介紹了python實操案例練習,本篇文章主要分享的案例內容有記錄用戶登錄日志、模擬淘寶客服自動回復,下面詳細的內容,需要的小伙伴可以參考一下。希望對你有所幫助
    2022-02-02
  • Python Websocket服務端通信的使用示例

    Python Websocket服務端通信的使用示例

    這篇文章主要介紹了Python Websocket服務端通信的使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02

最新評論

宜宾县| 平远县| 巫山县| 佳木斯市| 灵武市| 慈溪市| 金寨县| 佛山市| 横峰县| 邵阳市| 云阳县| 乐昌市| 民权县| 泗洪县| 东宁县| 额尔古纳市| 丽水市| 岢岚县| 蓝田县| 安西县| 六盘水市| 嘉峪关市| 古浪县| 荣昌县| 怀来县| 忻城县| 开鲁县| 和田市| 长泰县| 双江| 东方市| 四子王旗| 聂拉木县| 弥勒县| 萍乡市| 镇远县| 正镶白旗| 萨嘎县| 贵港市| 长丰县| 双流县|