switched to Input/Output Array in gpu::copyMakeBorder
This commit is contained in:
parent
539f367d0b
commit
c52d56964c
@ -205,6 +205,10 @@ inline void LUT(InputArray src, InputArray lut, OutputArray dst, Stream& stream)
|
|||||||
createLookUpTable(lut)->transform(src, dst, stream);
|
createLookUpTable(lut)->transform(src, dst, stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! copies 2D array to a larger destination array and pads borders with user-specifiable constant
|
||||||
|
CV_EXPORTS void copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType,
|
||||||
|
Scalar value = Scalar(), Stream& stream = Stream::Null());
|
||||||
|
|
||||||
//! implements generalized matrix product algorithm GEMM from BLAS
|
//! implements generalized matrix product algorithm GEMM from BLAS
|
||||||
CV_EXPORTS void gemm(const GpuMat& src1, const GpuMat& src2, double alpha,
|
CV_EXPORTS void gemm(const GpuMat& src1, const GpuMat& src2, double alpha,
|
||||||
const GpuMat& src3, double beta, GpuMat& dst, int flags = 0, Stream& stream = Stream::Null());
|
const GpuMat& src3, double beta, GpuMat& dst, int flags = 0, Stream& stream = Stream::Null());
|
||||||
@ -273,10 +277,6 @@ CV_EXPORTS void meanStdDev(const GpuMat& mtx, Scalar& mean, Scalar& stddev, GpuM
|
|||||||
//! output will have CV_32FC1 type
|
//! output will have CV_32FC1 type
|
||||||
CV_EXPORTS void rectStdDev(const GpuMat& src, const GpuMat& sqr, GpuMat& dst, const Rect& rect, Stream& stream = Stream::Null());
|
CV_EXPORTS void rectStdDev(const GpuMat& src, const GpuMat& sqr, GpuMat& dst, const Rect& rect, Stream& stream = Stream::Null());
|
||||||
|
|
||||||
//! copies 2D array to a larger destination array and pads borders with user-specifiable constant
|
|
||||||
CV_EXPORTS void copyMakeBorder(const GpuMat& src, GpuMat& dst, int top, int bottom, int left, int right, int borderType,
|
|
||||||
const Scalar& value = Scalar(), Stream& stream = Stream::Null());
|
|
||||||
|
|
||||||
//! computes the integral image
|
//! computes the integral image
|
||||||
//! sum will have CV_32S type, but will contain unsigned int values
|
//! sum will have CV_32S type, but will contain unsigned int values
|
||||||
//! supports only CV_8UC1 source type
|
//! supports only CV_8UC1 source type
|
||||||
|
@ -59,7 +59,7 @@ void cv::gpu::flip(InputArray, OutputArray, int, Stream&) { throw_no_cuda(); }
|
|||||||
|
|
||||||
Ptr<LookUpTable> cv::gpu::createLookUpTable(InputArray) { throw_no_cuda(); return Ptr<LookUpTable>(); }
|
Ptr<LookUpTable> cv::gpu::createLookUpTable(InputArray) { throw_no_cuda(); return Ptr<LookUpTable>(); }
|
||||||
|
|
||||||
void cv::gpu::copyMakeBorder(const GpuMat&, GpuMat&, int, int, int, int, int, const Scalar&, Stream&) { throw_no_cuda(); }
|
void cv::gpu::copyMakeBorder(InputArray, OutputArray, int, int, int, int, int, Scalar, Stream&) { throw_no_cuda(); }
|
||||||
|
|
||||||
#else /* !defined (HAVE_CUDA) */
|
#else /* !defined (HAVE_CUDA) */
|
||||||
|
|
||||||
@ -529,14 +529,17 @@ typedef Npp32s __attribute__((__may_alias__)) Npp32s_a;
|
|||||||
typedef Npp32s Npp32s_a;
|
typedef Npp32s Npp32s_a;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void cv::gpu::copyMakeBorder(const GpuMat& src, GpuMat& dst, int top, int bottom, int left, int right, int borderType, const Scalar& value, Stream& s)
|
void cv::gpu::copyMakeBorder(InputArray _src, OutputArray _dst, int top, int bottom, int left, int right, int borderType, Scalar value, Stream& _stream)
|
||||||
{
|
{
|
||||||
CV_Assert(src.depth() <= CV_32F && src.channels() <= 4);
|
GpuMat src = _src.getGpuMat();
|
||||||
CV_Assert(borderType == BORDER_REFLECT_101 || borderType == BORDER_REPLICATE || borderType == BORDER_CONSTANT || borderType == BORDER_REFLECT || borderType == BORDER_WRAP);
|
|
||||||
|
|
||||||
dst.create(src.rows + top + bottom, src.cols + left + right, src.type());
|
CV_Assert( src.depth() <= CV_32F && src.channels() <= 4 );
|
||||||
|
CV_Assert( borderType == BORDER_REFLECT_101 || borderType == BORDER_REPLICATE || borderType == BORDER_CONSTANT || borderType == BORDER_REFLECT || borderType == BORDER_WRAP );
|
||||||
|
|
||||||
cudaStream_t stream = StreamAccessor::getStream(s);
|
_dst.create(src.rows + top + bottom, src.cols + left + right, src.type());
|
||||||
|
GpuMat dst = _dst.getGpuMat();
|
||||||
|
|
||||||
|
cudaStream_t stream = StreamAccessor::getStream(_stream);
|
||||||
|
|
||||||
if (borderType == BORDER_CONSTANT && (src.type() == CV_8UC1 || src.type() == CV_8UC4 || src.type() == CV_32SC1 || src.type() == CV_32FC1))
|
if (borderType == BORDER_CONSTANT && (src.type() == CV_8UC1 || src.type() == CV_8UC4 || src.type() == CV_32SC1 || src.type() == CV_32FC1))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user