无法将图像转换为极地。 Python,OpenCV

时间:2016-07-08 16:11:34

标签: python-2.7 opencv

我正在尝试使用python实现ring artefact reduction算法。第一步是将图像从笛卡尔变换为极地。我想我可以使用opencv来做到这一点。在本主题fast Cartesian to Polar to Cartesian in Python作者设法使用LinearPolar函数,但它在我的计算机上不起作用。

我尝试了以下方式:

import cv
import cv2
img = cv2.imread('artifact.png', 0)
img1 = cv2.imread('artifact.png', 0) 
cv.LinearPolar(cv.fromarray(img),cv.fromarray(img1),(130,110), 1 ,cv.CV_WARP_FILL_OUTLIERS)

但是它返回了一个错误: AttributeError:'module'对象没有属性'LinearPolar'

那么有没有办法使用这个功能?

由于

3 个答案:

答案 0 :(得分:1)

该函数是cv2.linearPolar - 它反对大写。

答案 1 :(得分:1)

在最近更新的版本中,您不需要将输出数组传递给函数。可以将输出分配给变量:

result = cv2.linearPolar(image, (50, 50), 1.0, cv2.WARP_FILL_OUTLIERS)

答案 2 :(得分:0)

你尝试过使用cv2.LinearPolar吗?

https://fossies.org/dox/opencv-3.1.0/logpolar_8py_source.html