Opencv 在不知道轮廓的情况下,如何在Python中进行鱼眼校正?
在不知道轮廓的情况下,如何在Python中进行鱼眼校正? 我使用OpenCV,它有什么功能可以使用吗? 我找到了要更正的示例代码Opencv 在不知道轮廓的情况下,如何在Python中进行鱼眼校正?,opencv,distortion,Opencv,Distortion,在不知道轮廓的情况下,如何在Python中进行鱼眼校正? 我使用OpenCV,它有什么功能可以使用吗? 我找到了要更正的示例代码 pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]]) pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]]) M = cv2.getPerspectiveTransform(pts1,pts2) 但实际上,我不知道它的轮廓和大小。这幅画正在拍收据。中间部分的
pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]])
pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]])
M = cv2.getPerspectiveTransform(pts1,pts2)
但实际上,我不知道它的轮廓和大小。这幅画正在拍收据。中间部分的收据可以是左或右。
在进行鱼眼校正之前,我是否需要检测收据的轮廓?怎么做?我使用OpenCV进行检测,但无法返回图像
img = cv2.drawContours(img, contours, -1, (0,255,0), 3)
谢谢,
Robin你能假设现实生活中图像中有直线吗?标准鱼眼校正的可能重复是确定图像中共线的点,然后使用这些点计算畸变函数来校正图像。我还将一个链接标记为重复链接,以便您可以查看。@rayryeng我看到了那个链接,但该答案设置了它需要的参数。#/不失真0_0000.jpg 1367.451167 1367.451167 0 0-0.246050.193617-0.002004-0.002056您是否介意告诉我检测边缘的部分(fx fy cx cy k1 k2 p1 p2)?谢谢