Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Destination image size of LinearPolar / LogPolar

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).

Destination image size of LinearPolar / LogPolar

The documentation says:

void cvLinearPolar(const CvArr* cv::linearPolar (InputArray src, CvArr* OutputArray dst, CvPoint2D32f Point2f center, double maxRadius, int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS )flags)

  • 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).