lua手动添加Opencv Mat对象

在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);
相关推荐
itzixiao几秒前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
咸鱼永不翻身4 分钟前
Lua脚本事件检查工具
unity·lua·工具
Lightning-py8 分钟前
Python 配置日志(Logging)
开发语言·python
隔窗听雨眠13 分钟前
MySQL主从延迟根因诊断法
开发语言·php
Hui_AI72018 分钟前
基于RAG的农产品GEO溯源智能问答系统实现
开发语言·网络·人工智能·python·算法·创业创新
CDwenhuohuo19 分钟前
前端文件预览
开发语言·前端·javascript
charlie11451419125 分钟前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32
IT猿手27 分钟前
SCI一区:章鱼优化算法(Octopus Optimization Algorithm, OOA)求解23个测试函数,出图丰富,提供完整MATLAB代码
开发语言·算法·matlab
程序员JerrySUN27 分钟前
Jetson边缘嵌入式实战课程第二讲:JetPack 和 SDK Manager 是什么
c语言·开发语言·网络·udp·音视频
不知名的老吴27 分钟前
后端知识点:Python处理加权点赞
开发语言·python