技术栈

lua手动添加Opencv Mat对象

isyoungboy2024-06-13 16:55

在lua的userdata中分配内存

使用c++的placement new 调用 Mat 类的构造函数,把对象分配在lua的userdata空间中

Mat的生命周期由lua虚拟机管理,跟随lua变量生命周期

复制代码
void createMat(const std::string& filename,Mat *result) {
	Mat img = cv::imread(filename, cv::IMREAD_COLOR);
	Mat* mat2 = new(result) Mat();
	*mat2 = img;
}

//在lua中申请内存
Mat* luaImage = static_cast<Mat*>(lua_newuserdata(L, sizeof(Mat)));
createMat(filename, luaImage);
上一篇:使用Puppeteer生成echarts图片
下一篇:AcWing 477:神经网络 ← 拓扑排序+链式前向星
相关推荐
Jayden_Ruan
几秒前
C++蛇形方阵
开发语言·c++·算法
心.c
17 分钟前
如何基于 RAG 技术,搭建一个专属的智能 Agent 平台
开发语言·前端·vue.js
智航GIS
29 分钟前
10.7 pyspider 库入门
开发语言·前端·python
跟着珅聪学java
33 分钟前
JavaScript 底层原理
java·开发语言
项目題供诗
38 分钟前
C语言基础(二)
c语言·开发语言
J_liaty
42 分钟前
RabbitMQ面试题终极指南
开发语言·后端·面试·rabbitmq
JosieBook
1 小时前
【开源】基于 C# 和 Halcon 机器视觉开发的车牌识别工具(附带源码)
开发语言·c#
逑之
1 小时前
C语言笔记14:结构体、联合体、枚举
c语言·开发语言·笔记
崇山峻岭之间
1 小时前
Matlab学习记录30
开发语言·学习·matlab
热门推荐
01GitHub 镜像站点02Labelme从安装到标注:零基础完整指南03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04Linux下V2Ray安装配置指南05jdk21下载、安装(Windows、Linux、macOS)06Claude Code 2.1.2 升级报错?别折腾了,一行命令搞定072025-04-03 Latex学习1——本地配置Latex + VScode环境08Opencode CLI 安装成功,但是启动失败09【踩坑笔记】50系显卡适配的 PyTorch 安装10UV安装并设置国内源