技术栈

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:神经网络 ← 拓扑排序+链式前向星
相关推荐
Molesidy
6 分钟前
【Embedded System】嵌入式C语言基础知识
c语言·开发语言
 梦晓天明
6 分钟前
12.集合介绍以及数组的使用选择
linux·开发语言·python
千里镜宵烛
6 分钟前
Lua--协程
开发语言·lua
m0_74823131
8 分钟前
深入JVM:让Java性能起飞的核心原理与优化策略
java·开发语言·jvm
作孽就得先起床
18 分钟前
c#调Lua返回个字符串
unity·c#·lua·xlua
Jackson@ML
25 分钟前
在macOS上搭建C#集成开发环境指南
开发语言·macos·c#
嵌入式-老费
26 分钟前
Easyx图形库应用(python+opencv的图形库开发)
开发语言·python·opencv
Vaclee
43 分钟前
JVM超详解
开发语言·jvm
Ialand~
1 小时前
深度解析 Rust 的数据结构:标准库与社区生态
开发语言·数据结构·rust
热门推荐
01GitHub 镜像站点02UV安装并设置国内源03BongoCat - 跨平台键盘猫动画工具04GitLab 零基础入门指南:从安装到项目管理全流程05Linux下V2Ray安装配置指南06NVIDIA显卡驱动、CUDA、cuDNN 和 TensorRT 版本匹配指南07Labelme从安装到标注:零基础完整指南08安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)09在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)10基于vLLM的PaddleOCR-VL部署指南