oclMat operator()( Range rowRange, Range colRange ) 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
// (i.e. when there are no gaps between successive rows).
// similar to CV_IS_oclMat_CONT(cvoclMat->type)
CV_EXPORTS oclMat operator ^ (const oclMat &src1, const oclMat &src2);
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 ////////////////////////////////
/*!
//
// 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, Multicoreware, Inc., all rights reserved.
// Third party copyrights are property of their respective owners.
//
// @Authors
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 ////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// 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, Multicoreware, Inc., all rights reserved.
// Third party copyrights are property of their respective owners.
//
// @Authors
// Niko Li, newlife20080214@gmail.com
+// Yao Wang, bitwangyaoyao@gmail.com
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
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) */