CV-openCV学习笔记二
来源:互联网 发布:上海极贝网络面试 编辑:程序博客网 时间:2024/05/16 08:00
Mat - The Basic Image Container
Mat
Mat有两部分,矩阵头和指向矩阵的指针
OpenCV使用引用计数系统。每个Mat有各自的头,却有可能共享同一矩阵。复制操作也只是复制头部。
Mat A, C; // 仅创建头部A = imread(argv[1], IMREAD_COLOR); // 分配内存Mat B(A); // 拷贝构造函数C = A; // 赋值操作
所有Mat都指向同一个矩阵,但头部不同。
Mat D (A, Rect(10, 10, 100, 100) ); // 长方形Mat E = A(Range::all(), Range(1,3)); // 行列边界
上述两个Mat也指向同一个矩阵,头部不同。
如果想复制矩阵,使用cv::Mat::clone()
和cv::Mat::copyTo()
Mat F = A.clone();Mat G;A.copyTo(G);
存储方法
OpenCV使用BGR颜色空间
明确创建一个Mat对象
使用cv::Mat::Mat
Mat M(2,2, CV_8UC3, Scalar(0,0,255));cout << "M = " << endl << " " << M << endl << endl; // 只能用于二维数组
CV_[每项的bit数][符号][类型前缀]C[通道数]
cv::Scalar是四元素double向量,相当于初始化。
大于2维的图像:
int sz[3] = {2,2,2};Mat L(3,sz, CV_8UC(1), Scalar::all(0));
cv::Mat::create
M.create(4,4, CV_8UC(2));cout << "M = "<< endl << " " << M << endl << endl;
- 无法初始化值
- 只有原来矩阵比参数指定的矩阵小的时候才会重新分配空间
0 0
- CV-openCV学习笔记二
- openCv学习笔记(二)—cv::Mat学习
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCv学习笔记(二)—cv::Mat学习
- 【OpenCV学习笔记】二、深入了解 cv::Mat
- CV-openCV学习笔记一
- openCv学习笔记—cv::Mat学习
- OpenCV学习笔记(基于OpenCV 2.4)一:哈喽CV
- OpenCV笔记(cv::Mat)
- openCv学习札记(二)—cv:Mat学习
- Emgu.CV OpenCV 学习之路(二)
- Emgu CV(OpenCV for C#)学习笔记(1)
- Emgu CV(OpenCV for C#)学习笔记(2)
- Emgu CV(OpenCV for C#)学习笔记(3)
- Android-20170410
- ScrollView中嵌入ListView,GridView冲突的解决(让ListView全显示出来)
- BZOJ 4521 [Cqoi2016] 手机号码
- 领域驱动设计之领域模型
- 利用录音AudioRecord实现吹一吹效果
- CV-openCV学习笔记二
- 对象
- POJ1003
- Adapter报错:The content of the adapter has changed but ListView did not receive a
- 如何在ROS环境中解码.bag格式数据
- 关于ListView中使用GestureDetector冲突的解决办法
- 使用Svox实现中文转语音TextToSpeech(TTS)
- 使用Dom4j解析XML
- 上拉下拉刷新,支持ListView,GridView,ScrollView