OpenCV2

发布时间:2025-12-09 11:57:38 浏览次数:1

一.cv::Mat

1.作用

cv::Mat表示图像类,用来操作图像和矩阵,它包含很多属性和方法

2.构造方法

cv::Mat image; //cv::Mat image() 无参数构造方法

cv::Mat image(int rows,int cols,int type);
cv::Mat image(cv::Size size,int type);

cv::Mat image(int rows,int cols,int type,const cv::Scalar& s);
cv::Mat image(cv::Size size,int type,const cv::Scalar& s);

cv::Mat image(int rows,int cols,int type,void* data,size_t step=AUTO_STEP)
cv::Mat image(cv::Size size,in type,void* data,size_t step=AUTO_STEP)

cv::Mat image(const cv::Mat& m); //image1=image;
cv::Mat image(const cv::Mat& m,const Rect& roi);

  • type:

    CV_8UC1       灰度单通道图

CV_16SC1

CV_64FC4

3.成员函数

image.empty()
image.size().height
image.size().width
image.converTo(image2,CV_32F,1/255.0,0.0);
image.type();         
image.at<uchar>(int x,int y);
image.zeros()
image.ones()
image.eyes()

4.属性

image.data
image.rows //像素总行数
image.cols //像素总列数

二.翻转图像

1.cv::flip()

cv::flip(cv::Mat src,cv::Mat des,int i); //用来翻转图像,正数表示水平翻转,0表示垂直翻转,负数表示既有水平翻转也有垂直翻转

cv::flip(image,result,1);

2.cvFlip()

三.数据

1.cv::Rect() / cv::Point() / cv::Scalar()

2.cvRect() / cvPoint() / cvScalar()

四.时间

1.cv::getTickCount() / cv::getTickFrequency()

2.cvGetTickCount() /cvGetTickFrequency()

五.拷贝图像

1.cv::Mat::CopyTo() /cv::Mat::clone()

2.cvCopy()

六.创建图像/销毁图像

1.cv::Mat::create() /cv::Mat::release()

2.cvCreateImage() /cvReleaseImage()

七.转化图像

1.cv::Mat.convertTo()

2.cvConvert()

八.绘制图形

1.cv::circle() /cv::rectangle() /cv::line() /cv::polylines() /cv::fillPoly()

2.cvCircle() /cvRectangle() /cvLine() /cvPolyLine() /cvFillPoly()

cvcircle
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477