open cvMat的使用

本文详细介绍了OpenCV中的Mat对象,包括其自动内存管理、避免内存泄漏的优势,以及与早期iplImage对象的区别。Mat的构造函数和常用方法如`Mat()`, `copyTo()`, `convertTo()`, `clone()`等被逐一讲解。重点讨论了Mat对象的部分复制与完全复制,并给出使用示例,强调了Mat在图像处理中的便捷性,如自动分配内存、C++接口无需手动内存管理等。此外,还提到了通过`clone()`和`copyTo()`实现数据的完全复制,以及如何用`Scalar`设置图像颜色。" 120971330,10643848,MATLAB安装教程:新电脑复制安装包方法,"['MATLAB', '开发语言', '安装教程']
摘要由CSDN通过智能技术生成

Mat对象 自动分配内存 不会泄露数据 分 头部和数据部
ipllmage早期对象 需要自行分配与管理内存 导致内存泄漏

Mat对象构造函数与常用方法
常用方法:
**Mat()
Mat (int rows, int cols, int type)
Mat(ize size, in type)
Mat (int rows, int cols, int type, const Scalar 8S)
Mat (Size size, int type, const Scalar &S)
Mat (int ndims, const int ies, int type)
Mat (int ndims, const int sizes, int type, const Scalar &S)

常用方法
**
void copyTo(Mat mat) 完全复制一份
void convertTo(Mat dst, int type) 数据类型转换
Mat clone()完全复制一份
int chanels() 通道
int depth) 深度
bool empty(); 是否为空
uchar* ptr[i=0) 可不可以获取这个i(行)的指针**

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <iostream>//iostream没有后缀
#include <math.h>

using namespace cv;
using namespace std;

int main()
{
   
	Mat src;
	src = imread("D:/实验台/机器视觉/测试图片/机器人正面.jpg");
	if (src.empty())//如果src这个数据库属性为空
	{
   
		cout << "无法打开" << endl;
		return -1;
	}
	namedWindow(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值