OPenCV的重要结构体Mat

一 Mat

Mat是什么?

Mat有什么好处?

cpp 复制代码
class CV_EXPORTS Mat{
public:
...
int dims;//维数
int rows,cols;//行列数
uchar *data;//存储数据的指针
int *refcount;//引用计数
...

};

二 Mat属性

三 Mat拷贝

1 Mat浅拷贝

cpp 复制代码
Mat A
A=imread(file,IMREAD_COLOR)
Mat B(A)

2 Mat深拷贝

cpp 复制代码
cv::Mat::clone()
cv::Mat::copyTo()
copy()
cpp 复制代码
import cv2
import numpy as np

img=cv2.imread('./2037548.jpg')
#浅拷贝
img2=img
#深拷贝
img3=img.copy()

img[10:100,10:100]=[0,0,255]


cv2.imshow('img',img)
cv2.imshow('img2',img2)
cv2.imshow('img3',img3)

cv2.waitKey(0)
相关推荐
Shockang6 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang6 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab8 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源