Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 2088

unwrapPhaseMap() does not take ndarray in Python

$
0
0
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!

Viewing all articles
Browse latest Browse all 2088

Trending Articles