OpenCV buffer转cv::Mat

void convertBuf2Mat(void* input_ptr, vx_uint32 width, vx_uint32 height, cv::Mat& frame)

{

// 计算亮度通道和色度通道的大小

size_t y_size = width * height;

size_t uv_size = y_size / 2;

// 创建一个只包含亮度通道的 cv::Mat 对象

cv::Mat y_channel(height, width, CV_8UC1, (unsigned char*)input_ptr);

// 设置 U 通道和 V 通道的数据指针

unsigned char* u_ptr = (unsigned char*)input_ptr + y_size;

unsigned char* v_ptr = u_ptr + uv_size;

// 创建只包含 U 通道和 V 通道的 cv::Mat 对象

cv::Mat u_channel(height / 2, width / 2, CV_8UC1, u_ptr);

cv::Mat v_channel(height / 2, width / 2, CV_8UC1, v_ptr);

// 调整色度通道的大小以匹配亮度通道

cv::resize(u_channel, u_channel, cv::Size(width, height));

cv::resize(v_channel, v_channel, cv::Size(width, height));

// 合并亮度和色度通道,得到 NV12 格式的 cv::Mat

std::vector<cv::Mat> channels = { y_channel, u_channel, v_channel };

cv::merge(channels, frame);

}

相关推荐
豆包MarsCode3 分钟前
✍️ TRAE 双端融合,全面升级|征文活动开启,赢京东卡、TRAE 精美周边好礼!
人工智能
weixin_448119944 分钟前
Datawhale计算机中的数学#MCS #Mathematics #Maths #Yibo #翊博 #翊博在这里 #菲尔兹奖 #yibohere
人工智能
虹科网络安全7 分钟前
“顶会”看安全(十九):医疗 AI 中的差异化隐私风险
人工智能·经验分享·安全
人工智能AI技术8 分钟前
AI时代新Word来了,md和HTML本地文件人机协同编辑
人工智能
YH行业报告分析11 分钟前
2026费用管理软件工具市场洞察:AI Agent与RaaS模式如何重构企业费控流程?
人工智能·重构
szxinmai主板定制专家12 分钟前
电力边缘 AI 落地难点剖析:RK 系列 + FPGA 异构平台在储能监控终端的 EMC 与算力优化
人工智能·fpga开发·arm+fpga·rk3588+fpga
触底反弹13 分钟前
🎯 LangSmith 学习与面试全攻略:从 Agent「盲盒」到全链路观测与量化评估
人工智能·面试
用户83145509803129 分钟前
如一 Agent 架构解读(四):异步整理——压缩不该堵住用户
人工智能·llm
‎ദ്ദിᵔ.˛.ᵔ₎31 分钟前
c++11:fuction包装器
开发语言·c++
用户19172912708335 分钟前
团队 Agent 技能库怎么管?用 Git 做 Skill 版本化与复用实战
人工智能