婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > OpenCV實現相機校正

OpenCV實現相機校正

熱門標簽:如何申請400電話費用 池州外呼調研線路 江西省地圖標注 武漢外呼系統平臺 富錦商家地圖標注 外呼系統哪些好辦 沈陽人工外呼系統價格 沈陽防封電銷卡品牌 沈陽外呼系統呼叫系統

本文實例為大家分享了OpenCV實現相機校正的具體代碼,供大家參考,具體內容如下

1. 相機標定

根據張正友校正算法,利用棋盤格數據校正對車載相機進行校正,計算其內參矩陣,外參矩陣和畸變系數。

標定的流程是:

  • 準備棋盤格數據,即用于標定的圖片
  • 對每一張圖片提取角點信息
  • 在棋盤上繪制提取到的角點(非必須,只是為了顯示結果)
  • 利用提取的角點對相機進行標定
  • 獲取相機的參數信息

2.關于相機校正用到的幾個API:

1、尋找棋盤圖中的棋盤角點

rect, corners = cv2.findChessboardCorners(image, pattern_size, flags)

參數:

  • Image: 輸入的棋盤圖,必須是8位的灰度或者彩色圖像
  • Pattern_size:棋盤圖中每行每列的角點個數(內角點)。
  • flags: 用來定義額外的濾波步驟以有助于尋找棋盤角點。所有的變量都可以單獨或者以邏輯或的方式組合使用。取值主要有:

      CV_CALIB_CB_ADAPTIVE_THRESH :使用自適應閾值(通過平均圖像亮度計算得到)將圖像轉換為黑白圖,而不是一個固定的閾值。

        CV_CALIB_CB_NORMALIZE_IMAGE :在利用固定閾值或者自適應的閾值進行二值化之前,先使用cvNormalizeHist來均衡化圖像亮度。

        CV_CALIB_CB_FILTER_QUADS :使用其他的準則(如輪廓面積,周長,方形形狀)來去除在輪廓檢測階段檢測到的錯誤方塊。

返回:

  • Corners:檢測到的角點
  • rect: 輸出是否找到角點,找到角點返回1,否則返回0

2、檢測完角點之后可以將測到的角點繪制在圖像上,使用的API是:

cv2.drawChessboardCorners(img, pattern_size, corners, rect)

參數:

  • Img: 預繪制檢測角點的圖像
  • pattern_size : 預繪制的角點的形狀
  • corners: 角點矩陣
  • rect: 表示是否所有的棋盤角點被找到,可以設置為findChessboardCorners的返回值

注意:如果發現了所有的角點,那么角點將用不同顏色繪制(每行使用單獨的顏色繪制),并且把角點以一定順序用線連接起來。

3利用定標的結果計算內外參數

ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(object_points, image_points, image_size, None, None)

參數:

  • Object_points:世界坐標系中的點,在使用棋盤的場合,令z的坐標值為0,而x,y坐標用里面來度量,選用英寸單位,那么所有參數計算的結果也是用英寸表示。最簡單的方式是定義棋盤的每一個方塊為一個單位。
  • image_points:在圖像中尋找到的角點的坐標,包含object_points所提供的所有點
  • image_size: 圖像的大小,以像素為衡量單位

返回:

  • ret: 返回值
  • mtx: 相機的內參矩陣,大小為3*3的矩陣
  • dist: 畸變系數,為5*1大小的矢量
  • rvecs: 旋轉變量
  • tvecs: 平移變量

2.1 圖像去畸變

上一步中得到相機的內參及畸變系數,利用其進行圖像的去畸變,最直接的方法就是調用opencv中的函數得到去畸變的圖像:

def img_undistort(img, mtx, dist):
    dst = cv2.undistort(img, mtx, dist, None, mtx)
    return dst

求畸變的API:

dst = cv2.undistort(img, mtx, dist, None, mtx)

參數:

  • Img: 要進行校正的圖像
  • mtx: 相機的內參
  • dist: 相機的畸變系數

返回:

  • dst: 圖像校正后的結果

3. 相機校正

import cv2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import glob

def plot_contrast_imgs(origin_img, converted_img, origin_img_title="origin_img", converted_img_title="converted_img", converted_img_gray=False):
    """
    用于對比顯示兩幅圖像
    """
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 20))
    ax1.set_title(origin_img_title)
    ax1.imshow(origin_img)
    ax2.set_title(converted_img_title)
    if converted_img_gray==True:
        ax2.imshow(converted_img, cmap="gray")
    else:
        ax2.imshow(converted_img)
    plt.show()

# 1. 參數設定:定義棋盤橫向和縱向的角點個數并指定校正圖像的位置
nx = 9
ny = 6
file_paths = glob.glob("./camera_cal/calibration*.jpg")
# 2. 計算相機的內外參數及畸變系數
def cal_calibrate_params(file_paths):
    object_points = []  # 三維空間中的點:3D
    image_points = []   # 圖像空間中的點:2d
    # 2.1 生成真實的交點坐標:類似(0,0,0), (1,0,0), (2,0,0) ....,(6,5,0)的三維點
    objp = np.zeros((nx * ny, 3), np.float32)
    objp[:, :2] = np.mgrid[0:nx, 0:ny].T.reshape(-1, 2)
    # 2.2 檢測每幅圖像角點坐標
    for file_path in file_paths:
        img = cv2.imread(file_path)
        # 將圖像轉換為灰度圖
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        # 自動檢測棋盤格內4個棋盤格的角點(2白2黑的交點)
        rect, corners = cv2.findChessboardCorners(gray, (nx, ny), None)
        # 若檢測到角點,則將其存儲到object_points和image_points
        if rect == True:
            object_points.append(objp)
            image_points.append(corners)
    # 2.3 獲取相機參數
    ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(object_points, image_points, gray.shape[::-1], None, None)
    return ret, mtx, dist, rvecs, tvecs


def img_undistort(img, mtx, dist):
    """
    圖像去畸變
    """
    return cv2.undistort(img, mtx, dist, None, mtx)

# 測試去畸變函數的效果
file_paths = glob.glob("./camera_cal/calibration*.jpg")
ret, mtx, dist, rvecs, tvecs = cal_calibrate_params(file_paths)
if mtx.any() != None:  # a.any() or a.all()
    img = mpimg.imread("./camera_cal/calibration1.jpg")
    undistort_img = img_undistort(img, mtx, dist)
    plot_contrast_imgs(img, undistort_img)
    print("done!")
else:
    print("failed")

執行代碼:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python opencv相機標定實現原理及步驟詳解

標簽:銅川 株洲 通遼 常德 呂梁 阿里 潛江 黑龍江

巨人網絡通訊聲明:本文標題《OpenCV實現相機校正》,本文關鍵詞  OpenCV,實現,相機,校正,OpenCV,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《OpenCV實現相機校正》相關的同類信息!
  • 本頁收集關于OpenCV實現相機校正的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美性色黄大片| 91麻豆免费在线观看| 成人永久免费视频| 日本一区中文字幕| 亚洲视频在线一区| 日韩精品一区二区三区三区免费| 不卡视频在线看| 丝袜a∨在线一区二区三区不卡| 欧美韩国一区二区| 欧美草草影院在线视频| 日本道在线观看一区二区| 日本中文字幕不卡| 亚洲一区二区三区在线播放| 亚洲色图欧洲色图| 国产精品国产三级国产专播品爱网 | 麻豆一区二区三区| 欧美国产视频在线| 欧美大肚乱孕交hd孕妇| 欧美成人精品二区三区99精品| 精品欧美黑人一区二区三区| 日韩精品中午字幕| 国产丝袜美腿一区二区三区| 久久综合九色综合97婷婷| 欧美大胆人体bbbb| 久久久综合九色合综国产精品| 国产网站一区二区| 亚洲国产精品成人综合| 亚洲欧洲av一区二区三区久久| 成人免费在线视频| 天涯成人国产亚洲精品一区av| 亚洲人xxxx| 午夜精品免费在线| 国产一区二区三区日韩| jiyouzz国产精品久久| 欧美亚洲日本国产| 欧美变态tickling挠脚心| 亚洲国产成人一区二区三区| 最新中文字幕一区二区三区| 亚洲午夜精品一区二区三区他趣| 日本三级韩国三级欧美三级| 国产九色sp调教91| 欧美电影在哪看比较好| 中文av一区二区| 一区二区三区精品久久久| 麻豆精品一区二区| 色综合天天综合网天天看片| 久久久精品免费网站| 亚洲综合色成人| 91麻豆免费观看| 亚洲婷婷综合久久一本伊一区| 婷婷综合久久一区二区三区| 国产一区二区日韩精品| 欧美无人高清视频在线观看| 国产蜜臀97一区二区三区| 久久国产福利国产秒拍| 欧美日本不卡视频| 免费三级欧美电影| 国产蜜臀av在线一区二区三区| 丁香六月综合激情| 中文字幕一区二区不卡| 91九色最新地址| 久久99国产精品久久99| 国产精品入口麻豆原神| 日本精品一区二区三区四区的功能| 国产欧美一区二区精品仙草咪| 国产很黄免费观看久久| 专区另类欧美日韩| 欧美一区2区视频在线观看| 国产高清不卡一区| 午夜亚洲福利老司机| 欧美精品一区二区三区一线天视频| 成人性视频网站| 亚洲电影第三页| 一色屋精品亚洲香蕉网站| 国产一区二区在线观看免费| 国产亚洲欧美在线| 久久一日本道色综合| 7777精品伊人久久久大香线蕉最新版| 美女视频一区在线观看| 中文一区一区三区高中清不卡| 成人三级在线视频| 一区二区三区 在线观看视频| 午夜精品福利久久久| 日韩欧美成人激情| 久久精品99国产精品| 日韩电影在线一区二区| 日韩视频在线永久播放| 亚洲国产美女搞黄色| 欧美一级搡bbbb搡bbbb| 成人美女视频在线观看| 色综合久久88色综合天天 | 久久精品在线观看| 久久午夜老司机| 国产精品第一页第二页第三页| 91在线视频观看| 久久99久久精品| 亚洲欧美一区二区久久| 欧美大白屁股肥臀xxxxxx| 成人黄色小视频| 91美女片黄在线观看91美女| 在线免费不卡视频| 国产aⅴ综合色| 亚洲成人三级小说| 自拍偷拍国产精品| 国产精品乱子久久久久| 日韩欧美激情四射| 色噜噜久久综合| 国产精品入口麻豆原神| 欧美成人精品高清在线播放 | 国产一区二区在线电影| 亚洲国产欧美在线人成| 夜夜揉揉日日人人青青一国产精品| 国精品**一区二区三区在线蜜桃| 蜜乳av一区二区三区| 国产亚洲污的网站| 国产成人免费视频网站 | 午夜伦欧美伦电影理论片| 国产99久久久久| 欧美卡1卡2卡| 亚洲国产日韩一区二区| 成人综合在线网站| 日本高清免费不卡视频| 99久久精品免费看国产| 欧美精品亚洲一区二区在线播放| 欧美美女一区二区| 国产成人在线视频网址| 国产自产视频一区二区三区| 亚洲精品高清在线| 国产suv精品一区二区6| 欧美日韩久久不卡| 国产亚洲精品资源在线26u| 亚洲国产wwwccc36天堂| 亚洲人成网站影音先锋播放| 亚洲动漫第一页| 粉嫩aⅴ一区二区三区四区| 在线观看视频91| 亚洲免费观看在线观看| 精品中文av资源站在线观看| 97成人超碰视| 日本午夜精品视频在线观看| 国产黄色91视频| 欧美一区二区三区爱爱| 亚洲图片你懂的| www.亚洲激情.com| 精品少妇一区二区| 精品久久久久久无| 亚洲国产乱码最新视频| 国产一区二区伦理| 亚洲素人一区二区| 日韩影院精彩在线| 欧美激情一区二区三区不卡| 精品三级av在线| 日韩免费观看高清完整版在线观看| 中文字幕在线观看不卡视频| 成人av在线一区二区三区| 欧美老人xxxx18| 欧美三级电影在线看| 久久 天天综合| 99久久免费精品| 在线不卡的av| 91精品一区二区三区在线观看| 精品国产91洋老外米糕| 国产精品网站在线观看| 久久精品日韩一区二区三区| 欧美乱熟臀69xxxxxx| 91成人看片片| 久久一区二区视频| 91精品国产综合久久久久久久| 日韩极品在线观看| 久久久久一区二区三区四区| 884aa四虎影成人精品一区| 亚洲一区二区三区激情| 欧美高清激情brazzers| 精品一区二区久久久| 国产精品久久福利| 亚洲日本va在线观看| 欧美日韩精品一二三区| 国产一区二区三区免费观看| 亚洲人成人一区二区在线观看| 日本一区二区在线不卡| 成人小视频在线观看| 成人免费视频播放| 日韩精品一卡二卡三卡四卡无卡| 日韩精品一区二区三区在线| 精品国产91乱码一区二区三区| 9i在线看片成人免费| 精品一区二区久久久| 亚洲欧美电影院| 日本大香伊一区二区三区| 日日摸夜夜添夜夜添精品视频| 99精品视频在线观看| 欧美日韩一区在线观看| 亚洲国产欧美日韩另类综合| 久久久久久久综合色一本| 99国产精品久久久久| 欧美日韩亚洲高清一区二区| 91污片在线观看| 精品一区二区三区香蕉蜜桃| ㊣最新国产の精品bt伙计久久| 日韩精品一二区|