實時圖像去畸變

import os
import sys
import cv2 as cv
import numpy as np


fx = 412.433229
cx = 318.310004
fy = 414.182775
cy = 236.769192
k1, k2, p1, p2, k3 = -0.320394,0.108028,-0.000993,0.001297,0.000000

k = np.array([
    [fx, 0, cx],
    [0, fy, cy],
    [0, 0, 1]
])

d = np.array([
    k1, k2, p1, p2, k3
])



def undistort(img):
    h, w = img.shape[:2]
    mapx, mapy = cv.initUndistortRectifyMap(k, d, None, k, (w, h), 5)
    return cv.remap(img, mapx, mapy, cv.INTER_LINEAR)

capture = cv.VideoCapture(-1)
while True:
    ret, frame = capture.read()
    if ret is True:
        aa = undistort(frame)
        cv.imshow("before",frame)
        cv.imshow("after",aa)
        #index += 1
        c = cv.waitKey(10)
        if c == 27:
            break
    else:
        break
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章