//////////////////////////////// Scalar_ /////////////////////////////// /*! The template scalar class. This is partially specialized cv::Vec class with the number of elements = 4, i.e. a short vector of four elements. Normally, cv::Scalar ~ cv::Scalar_<double> is used. */ template<typename _Tp> class Scalar_ : public Vec<_Tp, 4> { public: //! various constructors Scalar_(); Scalar_(_Tp v0, _Tp v1, _Tp v2=0, _Tp v3=0); Scalar_(const CvScalar& s); Scalar_(_Tp v0); //! returns a scalar with all elements set to v0 static Scalar_<_Tp> all(_Tp v0); //! conversion to the old-style CvScalar operator CvScalar() const; //! conversion to another data type template<typename T2> operator Scalar_<T2>() const; //! per-element product Scalar_<_Tp> mul(const Scalar_<_Tp>& t, double scale=1 ) const; // returns (v0, -v1, -v2, -v3) Scalar_<_Tp> conj() const; // returns true iff v1 == v2 == v3 == 0 bool isReal() const; }; typedef Scalar_<double> Scalar; CV_EXPORTS void scalarToRawData(const Scalar& s, void* buf, int type, int unroll_to=0); //////////////////////////////// Range ///////////////////////////////// /*! The 2D range class This is the class used to specify a continuous subsequence, i.e. part of a contour, or a column span in a matrix. */ class CV_EXPORTS Range { public: Range(); Range(int _start, int _end); Range(const CvSlice& slice); int size() const; bool empty() const; static Range all(); operator CvSlice() const; int start, end; };
Scalar 和Range
猜你喜欢
转载自blog.csdn.net/weixin_41484240/article/details/80592137
今日推荐
周排行