Hi there,
I'm doing some structured light and fringe analysis work and am trying to use the phase unwrapping function cv.phase_unwrapping_PhaseUnwrapping.unwrapPhaseMap in OpenCV (4.4.0) with Python ([doc here](https://docs.opencv.org/master/d8/d83/classcv_1_1phase__unwrapping_1_1PhaseUnwrapping.html#acad1a355e86402cb190956f9a9cbae99))
> unwrapPhaseMap() virtual void> cv::phase_unwrapping::PhaseUnwrapping::unwrapPhaseMap ( InputArray> wrappedPhaseMap, OutputArray> unwrappedPhaseMap, InputArray> shadowMask = noArray() ) pure> virtual Python:> unwrappedPhaseMap = cv.phase_unwrapping_PhaseUnwrapping.unwrapPhaseMap( wrappedPhaseMap[,> unwrappedPhaseMap[, shadowMask]] )
However, when I tried to call the function in Python, the TypeError occured:
> Exception has occurred: TypeError> descriptor 'unwrapPhaseMap' for> 'cv2.phase_unwrapping_PhaseUnwrapping'> objects doesn't apply to a> 'numpy.ndarray' object
Looks like the function doesn't take ndarray as an input. I'm assuming it takes cv::Mat. But after some version (3.0?), OpenCV removed the cv2.cv and the related fromarray() function that converts the ndarray to cv::Mat. It seems there is no way to use cv::Mat in the current version of OpenCV in Python. Anyone knows how to use the unwrapPhaseMap() function with Python and is this possibly a legacy issue?
Many thanks!
↧