mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
add +-*/ operators to oclMat
This commit is contained in:
parent
db9de43fa5
commit
0b365f6aa5
@ -219,6 +219,11 @@ namespace cv
|
|||||||
oclMat operator()( Range rowRange, Range colRange ) const;
|
oclMat operator()( Range rowRange, Range colRange ) const;
|
||||||
oclMat operator()( const Rect &roi ) const;
|
oclMat operator()( const Rect &roi ) const;
|
||||||
|
|
||||||
|
oclMat& operator+=( const oclMat& m );
|
||||||
|
oclMat& operator-=( const oclMat& m );
|
||||||
|
oclMat& operator*=( const oclMat& m );
|
||||||
|
oclMat& operator/=( const oclMat& m );
|
||||||
|
|
||||||
//! returns true if the oclMatrix data is continuous
|
//! returns true if the oclMatrix data is continuous
|
||||||
// (i.e. when there are no gaps between successive rows).
|
// (i.e. when there are no gaps between successive rows).
|
||||||
// similar to CV_IS_oclMat_CONT(cvoclMat->type)
|
// similar to CV_IS_oclMat_CONT(cvoclMat->type)
|
||||||
@ -468,6 +473,12 @@ namespace cv
|
|||||||
CV_EXPORTS oclMat operator ^ (const oclMat &src1, const oclMat &src2);
|
CV_EXPORTS oclMat operator ^ (const oclMat &src1, const oclMat &src2);
|
||||||
CV_EXPORTS void cvtColor(const oclMat &src, oclMat &dst, int code , int dcn = 0);
|
CV_EXPORTS void cvtColor(const oclMat &src, oclMat &dst, int code , int dcn = 0);
|
||||||
|
|
||||||
|
//! Mathematics operators
|
||||||
|
CV_EXPORTS oclMat operator + (const oclMat &src1, const oclMat &src2);
|
||||||
|
CV_EXPORTS oclMat operator - (const oclMat &src1, const oclMat &src2);
|
||||||
|
CV_EXPORTS oclMat operator * (const oclMat &src1, const oclMat &src2);
|
||||||
|
CV_EXPORTS oclMat operator / (const oclMat &src1, const oclMat &src2);
|
||||||
|
|
||||||
//////////////////////////////// Filter Engine ////////////////////////////////
|
//////////////////////////////// Filter Engine ////////////////////////////////
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
||||||
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
||||||
|
// Copyright (C) 2010-2012, Multicoreware, Inc., all rights reserved.
|
||||||
// Third party copyrights are property of their respective owners.
|
// Third party copyrights are property of their respective owners.
|
||||||
//
|
//
|
||||||
// @Authors
|
// @Authors
|
||||||
@ -2152,6 +2153,34 @@ cv::ocl::oclMat cv::ocl::operator ^ (const oclMat &src1, const oclMat &src2)
|
|||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cv::ocl::oclMat cv::ocl::operator + (const oclMat &src1, const oclMat &src2)
|
||||||
|
{
|
||||||
|
oclMat dst;
|
||||||
|
add(src1, src2, dst);
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
|
||||||
|
cv::ocl::oclMat cv::ocl::operator - (const oclMat &src1, const oclMat &src2)
|
||||||
|
{
|
||||||
|
oclMat dst;
|
||||||
|
subtract(src1, src2, dst);
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
|
||||||
|
cv::ocl::oclMat cv::ocl::operator * (const oclMat &src1, const oclMat &src2)
|
||||||
|
{
|
||||||
|
oclMat dst;
|
||||||
|
multiply(src1, src2, dst);
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
|
||||||
|
cv::ocl::oclMat cv::ocl::operator / (const oclMat &src1, const oclMat &src2)
|
||||||
|
{
|
||||||
|
oclMat dst;
|
||||||
|
divide(src1, src2, dst);
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
/////////////////////////////// transpose ////////////////////////////////////
|
/////////////////////////////// transpose ////////////////////////////////////
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -12,10 +12,12 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
||||||
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
||||||
|
// Copyright (C) 2010-2012, Multicoreware, Inc., all rights reserved.
|
||||||
// Third party copyrights are property of their respective owners.
|
// Third party copyrights are property of their respective owners.
|
||||||
//
|
//
|
||||||
// @Authors
|
// @Authors
|
||||||
// Niko Li, newlife20080214@gmail.com
|
// Niko Li, newlife20080214@gmail.com
|
||||||
|
// Yao Wang, bitwangyaoyao@gmail.com
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
// are permitted provided that the following conditions are met:
|
// are permitted provided that the following conditions are met:
|
||||||
@ -1020,4 +1022,27 @@ void cv::ocl::oclMat::release()
|
|||||||
refcount = 0;
|
refcount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oclMat& cv::ocl::oclMat::operator+=( const oclMat& m )
|
||||||
|
{
|
||||||
|
add(*this, m, *this);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
oclMat& cv::ocl::oclMat::operator-=( const oclMat& m )
|
||||||
|
{
|
||||||
|
subtract(*this, m, *this);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
oclMat& cv::ocl::oclMat::operator*=( const oclMat& m )
|
||||||
|
{
|
||||||
|
multiply(*this, m, *this);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
oclMat& cv::ocl::oclMat::operator/=( const oclMat& m )
|
||||||
|
{
|
||||||
|
divide(*this, m, *this);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
#endif /* !defined (HAVE_OPENCL) */
|
#endif /* !defined (HAVE_OPENCL) */
|
||||||
|
Loading…
Reference in New Issue
Block a user