我正在尝试使用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'
那么有没有办法使用这个功能?
由于
答案 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