提交 4f68212e 编写于 作者: R Roman Donchenko 提交者: OpenCV Buildbot

Merge pull request #1124 from SpecLad:matx-div

......@@ -163,6 +163,9 @@ public:
//! multiply two matrices element-wise
Matx<_Tp, m, n> mul(const Matx<_Tp, m, n>& a) const;
//! divide two matrices element-wise
Matx<_Tp, m, n> div(const Matx<_Tp, m, n>& a) const;
//! element access
const _Tp& operator ()(int i, int j) const;
_Tp& operator ()(int i, int j);
......@@ -782,6 +785,12 @@ Matx<_Tp, m, n> Matx<_Tp, m, n>::mul(const Matx<_Tp, m, n>& a) const
return Matx<_Tp, m, n>(*this, a, Matx_MulOp());
}
template<typename _Tp, int m, int n> inline
Matx<_Tp, m, n> Matx<_Tp, m, n>::div(const Matx<_Tp, m, n>& a) const
{
return Matx<_Tp, m, n>(*this, a, Matx_DivOp());
}
template<typename _Tp, int m, int n> inline
Matx<_Tp, n, m> Matx<_Tp, m, n>::t() const
{
......@@ -1171,12 +1180,6 @@ Vec<_Tp, m> operator * (const Matx<_Tp, m, n>& a, const Vec<_Tp, n>& b)
return (const Vec<_Tp, m>&)(c);
}
template<typename _Tp, int m, int n> static inline
Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b)
{
return Matx<_Tp, m, n>(a, b, Matx_DivOp());
}
template<typename _Tp, int m, int n> static inline
bool operator == (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b)
{
......
......@@ -899,7 +899,7 @@ bool CV_OperationsTest::TestMatxElementwiseDivison()
Matx22f mat(2, 4, 6, 8);
Matx22f mat2(2, 2, 2, 2);
Matx22f res = mat / mat2;
Matx22f res = mat.div(mat2);
if(res(0, 0) != 1.0) throw test_excep();
if(res(0, 1) != 2.0) throw test_excep();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册