The documentation says:
void cvLinearPolar(const CvArr* src, CvArr* dst, CvPoint2D32f center, double maxRadius, int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS )
- src – Source image
- dst – Destination image. It will have same size and type as src.
- …
Why is the size of the destination image forced to be the same as the one of the source image? Does it make any sense?
As far as I understand, the angular and radial resolution of the resulting image shouldn’t depend on the width and height of the source. Ideally, it should be set manually with some reasonable defaults depending on the maxRadius parameter (say, maxRadius × 2π∙maxRadius to match the resolution of the circle edge, or maxRadius × π∙maxRadius to match the average resolution of the source for LinearPolar).