:param dst: Destination image of the same size and the same number of channels as ``src`` .
- :param ddepth: Destination image depth.
+ :param ddepth: Destination image depth. The following combination of ``src.depth()`` and ``ddepth`` are supported:
+ * ``src.depth()`` = ``CV_8U``, ``ddepth`` = -1/``CV_16S``/``CV_32F``/``CV_64F``
+ * ``src.depth()`` = ``CV_16U``/``CV_16S``, ``ddepth`` = -1/``CV_32F``/``CV_64F``
+ * ``src.depth()`` = ``CV_32F``, ``ddepth`` = -1/``CV_32F``/``CV_64F``
+ * ``src.depth()`` = ``CV_64F``, ``ddepth`` = -1/``CV_64F``
+
+ when ``ddepth=-1``, the destination image will have the same depth as the source. In the case of 8-bit input images it will result in truncated derivatives.
:param xorder: Order of the derivative x.
:param src: Source image.
- :param dst: Destination image of the same size and the same number of channels as ``src`` .
+ :param dst: Destination image of the same size and the same number of channels as ``src``.
- :param ddepth: Destination image depth.
+ :param ddepth: Destination image depth. See :ocv:func:`Sobel` for the list of supported combination of ``src.depth()`` and ``ddepth``.
:param xorder: Order of the derivative x.
:param scale: Optional scale factor for the computed derivative values. By default, no scaling is applied. See :ocv:func:`getDerivKernels` for details.
- :param delta: Optional delta value that is added to the results prior to storing them in ``dst`` .
+ :param delta: Optional delta value that is added to the results prior to storing them in ``dst``.
:param borderType: Pixel extrapolation method. See :ocv:func:`borderInterpolate` for details.
if( sdepth == CV_32F && ddepth == CV_32F )
return Ptr<BaseRowFilter>(new RowFilter<float, float, RowVec_32f>
(kernel, anchor, RowVec_32f(kernel)));
+ if( sdepth == CV_32F && ddepth == CV_64F )
+ return Ptr<BaseRowFilter>(new RowFilter<float, double, RowNoVec>(kernel, anchor));
if( sdepth == CV_64F && ddepth == CV_64F )
return Ptr<BaseRowFilter>(new RowFilter<double, double, RowNoVec>(kernel, anchor));