1、Scalar()
向量表示初始化每个像素值是多少,向量长度对应通道数目一致。
使用方法:
Mat dst;
dst = Mat(src.size(), src.type());
dst = Scalar(0, 0, 0);
示例:
#include
#include
#include
using namespace cv;
int main(int argc, char** argv){
Mat src = imread("D:\sj.png");
Mat dst;
namedWindow("Window Title", WINDOW_AUTOSIZE);
imshow("Window Title", src);
dst = Mat(src.size(), src.type());
dst = Scalar(0, 0, 0);
namedWindow("Window dst", WINDOW_AUTOSIZE);
imshow("Window dst", dst);
waitKey(0);
return 0;
}
2、clone函数
实现图像数据完全复制
用法:
Mat dst;
dst = src.clone();
示例:
#include
#include
#include
using namespace cv;
int main(int argc, char** argv){
Mat src = imread("D:\sj.png");
Mat dst;
namedWindow("Window Title", WINDOW_AUTOSIZE);
imshow("Window Title", src);
dst = src.clone();
namedWindow("Window dst", WINDOW_AUTOSIZE);
imshow("Window dst", dst);
waitKey(0);
return 0;
}
3、copyTo函数
使用:
Mat src,dst;
src.copyTo(dst);
示例:
#include
#include
#include
using namespace cv;
int main(int argc, char** argv){
Mat src = imread("D:\sj.png");
Mat dst;
namedWindow("Window Title", WINDOW_AUTOSIZE);
imshow("Window Title", src);
src.copyTo(dst);
namedWindow("Window dst", WINDOW_AUTOSIZE);
imshow("Window dst", dst);
waitKey(0);
return 0;
}
4、cvtColor函数
使用:cvCvtColor是Opencv里的颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间的转换,也可以转换为灰度图像,参数CV_RGB2GRAY是RGB到gray。
void cv::cvtColor(
cv::InputArray src, // 输入序列
cv::OutputArray dst, // 输出序列
int code, // 颜色映射码
int dstCn = 0 // 输出的通道数 (0='automatic')
);
示例:
#include
#include
#include
using namespace cv;
int main(int argc, char** argv){
Mat src = imread("D:\sj.png");
Mat dst;
namedWindow("Window Title", WINDOW_AUTOSIZE);
imshow("Window Title", src);
cvtColor(src, dst, CV_BGR2GRAY);
namedWindow("Window dst", WINDOW_AUTOSIZE);
imshow("Window dst", dst);
waitKey(0);
return 0;
}
5、cv::Mat::Mat构造函数
Mat M(2,2,CV_8UC3, Scalar(0,0,255))
其中前两个参数分别表示行(row)跟列(column)、第三个
CV_8UC3中的8表示每个通道占8位、U表示无符号、C表示
Char类型、3表示通道数目是3,第四个参数是向量表示初
始化每个像素值是多少,向量长度对应通道数目一致
6、eyes().指定使用的尺寸和数据类型
Mat m2 = Mat::eye(2, 2, CV_8UC1);