欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实时图像去畸变

程序员文章站 2024-03-25 10:05:52
...
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