Commit 207218e9 authored by hailong-wang's avatar hailong-wang Committed by GitHub

Fix the bug of Mat_<>::opeartor []

`template<typename _Tp> inline const _Tp* Mat_<_Tp>::operator [](int y) const` does not support 3d matrix since it checks rows.

This operator[] shall check size.p[0] instead.
parent 502aa1f0
......@@ -1634,14 +1634,14 @@ Mat_<_Tp> Mat_<_Tp>::operator()(const std::vector<Range>& ranges) const
template<typename _Tp> inline
_Tp* Mat_<_Tp>::operator [](int y)
{
CV_DbgAssert( 0 <= y && y < rows );
CV_DbgAssert( 0 <= y && y < size.p[0] );
return (_Tp*)(data + y*step.p[0]);
}
template<typename _Tp> inline
const _Tp* Mat_<_Tp>::operator [](int y) const
{
CV_DbgAssert( 0 <= y && y < rows );
CV_DbgAssert( 0 <= y && y < size.p[0] );
return (const _Tp*)(data + y*step.p[0]);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment