实时图像去畸变
程序员文章站
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