提交 d02a0cab 编写于 作者: V Vadim Pisarevsky

updated OpenCV version to 2.2.9; added missing cv::convertPointsHomogeneous...

updated OpenCV version to 2.2.9; added missing cv::convertPointsHomogeneous for backward compatibility; fixed bug #952
上级 b435ff0b
......@@ -71,7 +71,7 @@ endif()
# ----------------------------------------------------------------------------
# Current version number:
# ----------------------------------------------------------------------------
set(OPENCV_VERSION "2.2.0")
set(OPENCV_VERSION "2.2.9")
string(REGEX MATCHALL "[0-9]" OPENCV_VERSION_PARTS "${OPENCV_VERSION}")
......
......@@ -48,7 +48,7 @@ copyright = u'2010, authors'
# The short X.Y version.
version = '2.2'
# The full version, including alpha/beta/rc tags.
release = '2.2'
release = '2.2.9'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
......
......@@ -623,11 +623,14 @@ CV_EXPORTS_W Mat getOptimalNewCameraMatrix( const InputArray& cameraMatrix, cons
CV_OUT Rect* validPixROI=0);
//! converts point coordinates from normal pixel coordinates to homogeneous coordinates ((x,y)->(x,y,1))
CV_EXPORTS void convertPointsToHomogeneous( const InputArray& src, OutputArray dst );
CV_EXPORTS_W void convertPointsToHomogeneous( const InputArray& src, OutputArray dst );
//! converts point coordinates from homogeneous to normal pixel coordinates ((x,y,z)->(x/z, y/z))
CV_EXPORTS void convertPointsFromHomogeneous( const InputArray& src, OutputArray dst );
CV_EXPORTS_W void convertPointsFromHomogeneous( const InputArray& src, OutputArray dst );
//! for backward compatibility
CV_EXPORTS void convertPointsHomogeneous( const InputArray& src, OutputArray dst );
//! the algorithm for finding fundamental matrix
enum
{
......
......@@ -1148,4 +1148,15 @@ void cv::convertPointsToHomogeneous( const InputArray& _src, OutputArray _dst )
cvConvertPointsHomogeneous(&c_src, &c_dst);
}
void cv::convertPointsHomogeneous( const InputArray& _src, OutputArray _dst )
{
int stype = _src.type(), dtype = _dst.type();
CV_Assert( _dst.fixedType() );
if( CV_MAT_CN(stype) > CV_MAT_CN(dtype) )
convertPointsFromHomogeneous(_src, _dst);
else
convertPointsToHomogeneous(_src, _dst);
}
/* End of file. */
......@@ -1131,27 +1131,30 @@ operator - (const Vec<_Tp, cn>& a, const Vec<_Tp, cn>& b)
return c -= b;
}
template<typename _Tp> static inline
Vec<_Tp, 2>& operator *= (Vec<_Tp, 2>& a, _Tp alpha)
template<typename _Tp, int cn> static inline
Vec<_Tp, cn>& operator *= (Vec<_Tp, cn>& a, _Tp alpha)
{
a[0] *= alpha; a[1] *= alpha;
for( int i = 0; i < cn; i++ )
a[i] *= alpha;
return a;
}
template<typename _Tp> static inline
Vec<_Tp, 3>& operator *= (Vec<_Tp, 3>& a, _Tp alpha)
template<int cn> static inline
Vec<float, cn>& operator *= (Vec<float, cn>& a, double alpha)
{
a[0] *= alpha; a[1] *= alpha; a[2] *= alpha;
for( int i = 0; i < cn; i++ )
a[i] *= (float)alpha;
return a;
}
template<typename _Tp> static inline
Vec<_Tp, 4>& operator *= (Vec<_Tp, 4>& a, _Tp alpha)
template<int cn> static inline
Vec<float, cn>& operator *= (Vec<float, cn>& a, int alpha)
{
a[0] *= alpha; a[1] *= alpha; a[2] *= alpha; a[3] *= alpha;
for( int i = 0; i < cn; i++ )
a[i] *= (float)alpha;
return a;
}
template<typename _Tp, int cn> static inline Vec<_Tp, cn>
operator * (const Vec<_Tp, cn>& a, _Tp alpha)
{
......@@ -1162,10 +1165,38 @@ operator * (const Vec<_Tp, cn>& a, _Tp alpha)
template<typename _Tp, int cn> static inline Vec<_Tp, cn>
operator * (_Tp alpha, const Vec<_Tp, cn>& a)
{
return a * alpha;
Vec<_Tp, cn> c = a;
return c *= alpha;
}
template<int cn> static inline Vec<float, cn>
operator * (double alpha, const Vec<float, cn>& a)
{
Vec<float, cn> c = a;
return c *= (float)alpha;
}
template<int cn> static inline Vec<float, cn>
operator * (const Vec<float, cn>& a, double alpha)
{
Vec<float, cn> c = a;
return c *= (float)alpha;
}
template<int cn> static inline Vec<float, cn>
operator * (int alpha, const Vec<float, cn>& a)
{
Vec<float, cn> c = a;
return c *= (float)alpha;
}
template<int cn> static inline Vec<float, cn>
operator * (const Vec<float, cn>& a, int alpha)
{
Vec<float, cn> c = a;
return c *= (float)alpha;
}
template<typename _Tp> static inline Vec<_Tp, 4>
operator * (const Vec<_Tp, 4>& a, const Vec<_Tp, 4>& b)
{
......
......@@ -49,7 +49,7 @@
#define CV_MAJOR_VERSION 2
#define CV_MINOR_VERSION 2
#define CV_SUBMINOR_VERSION 0
#define CV_SUBMINOR_VERSION 9
#define CVAUX_STR_EXP(__A) #__A
#define CVAUX_STR(__A) CVAUX_STR_EXP(__A)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册