Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 在不知道轮廓的情况下,如何在Python中进行鱼眼校正?_Opencv_Distortion - Fatal编程技术网

Opencv 在不知道轮廓的情况下,如何在Python中进行鱼眼校正?

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) 但实际上,我不知道它的轮廓和大小。这幅画正在拍收据。中间部分的

在不知道轮廓的情况下,如何在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)
但实际上,我不知道它的轮廓和大小。这幅画正在拍收据。中间部分的收据可以是左或右。

在进行鱼眼校正之前,我是否需要检测收据的轮廓?怎么做?我使用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)?谢谢