前言突然有一天出了个需求,做文件防盗链的,而且需要通过nginx来做,这个时候必然想到了Openresty,Openresty本身其实已经安装有nginx了,但是要求在公司原有的nginx上面装一些Openresty里面的模块,这个时候就有点复杂了,但是最终还是研究出来了,庆幸啊,这里做一个笔记,以便下次安装使用。 安装openresty下载openresty 下载地址:https://githu
文章目录前言一、Opencv的安装二、Ubuntu18.04下opencv的应用实例1.图片的显示2. 摄像头的使用3.播放视频 前言学习在Ubuntu下Opencv的安装以及使用一、Opencv的安装首先安装桌面版的Ubuntu 安装网址:https://opencv.org/releases/下面是安装流程 1.在Ubuntu18.04中网页打开该网站。 2.ctrl+alt+T进入终端,安
转载
2024-03-15 16:08:24
33阅读
从Lua调用C: 方式:C函数从栈中获取函数參数(第一个參数总是局部栈的索引1),将结果压入栈中,C函数须要返回结果数量。
每一个函数都有自己的局部私有栈样例:
static int l_sin(lua_State *L){
double d = lua_tonumber(L,1); //获取參数,索引为1(私有栈)
lua_pushnumber(L,sin(d)); //压入结果
转载
2024-06-20 05:33:16
146阅读
安装好Lua之后就可以进行Lua脚本的编程学习了。1.终端执行lua test.lua就是执行test.lua脚本;2.终端执行lua -i test.lua 执行问test.lua之后就会进入交互模式;3.在交互模式中运行dofile(”test.lua“)就可以运行test.lua.一种常用的编辑模式就是左边开一个调试窗口,启用lua的交互模式用dofile运行程序,另一边开一个编
转载
2024-05-01 15:08:26
198阅读
文章目录一、读入图像二、 显示图像三 、保存图像四 、图片操作4.1 图像翻转4.2 图像复制4.3 颜色空间转换4.4 实例4.4.1 读入一副图像,按’s’键保存后退出,按'q'键则退出4.4.2 读入一副图像,给图片加文本五 、基本图像处理5.1存取图片5.2 缩放、裁剪、补边5.3 色调、明暗5.4 图像的仿射变换六、 视频功能6.1 摄像头录制视频6.2从视频中截取图片 一、读入图像使
转载
2023-12-10 10:50:57
116阅读
大家好,我是青空。之前也写过一些 OpenCV 的文章,最近正好在考虑 写一个 OpenCV相关的工具,目前还是在开发过程中,边开发边更新。预计会持续一段时间。目前的想法是把 OpenCV 的 API 在这个工具上都实现一遍。 OpenCV 的内容挺多的,而且不使用的话,容易忘记,所以通过制造工具的方式来给自己加深印象,平常要处理图片的时候,就可以用自己的工具直接处理,不需要每次都去重复的写代码。
转载
2024-02-23 19:46:29
160阅读
一、利用OpenCV中提供的GPU模块目前,OpenCV中已提供了许多GPU函数,直接使用OpenCV提供的GPU模块,可以完成大部分图像处理的加速操作。该方法的优点是使用简单,利用GpuMat管理CPU与GPU之间的数据传输,而且不需要关注内核函数调用参数的设置,使用过程中,只需要关注处理的逻辑操作。缺点是受限于OpenCV库的发展和更新,当需要完成一些自定义的操作时(OpenCV中没有提供相应
转载
2023-12-01 14:31:49
174阅读
一、博文说明:OpenCV还在学习中,内容会逐渐补充 二、有路过的大神, 三、话不多说,开搞 1、imread:从内存中读取图像,此方法有两个参数;imread(“参数1”,参数2);参数1为图片的地址,参数2为加载此图片为灰度图片、不改变图片、以RGB呈现的原图片;参数2:IMRAD_GRAYSCALE(0)、IMREAD_UNCHANGED(<0)、IMREAD_COLOR(>0)
转载
2024-02-23 10:47:42
136阅读
《OpenCV轻松入门:面向Python》学习笔记(一)一. OpenCV入门1.1 读取图像1.2 显示图像1.2.1 `cv2.imshow( winname, mat )`1.2.2 `retval = cv2.waitKey( [delay] )`1.2.3 `cv2.destroyWindow( winname )`1.2.4 `cv2.destroyAllWindows( )`1.3
转载
2024-02-15 10:32:29
49阅读
一、环境搭建初学lua,首先要做的就是搭建环境首先下载lua,解压。添加环境变量:随后安装ide,我用的vscode,官网下载vscode下载之后安装,lua debug新建lua文件,ctrl+N(或者右上角新建)然后ctrl+s保存文件,开始编译。二、基本语法基础数据类型: 基础数据类型
nil表示无效,在表达式中等于false,可以将一个变量赋值为nil来删掉他booleantrue
转载
2024-02-23 16:01:27
84阅读
目录变量基本数据类型变量的作用域字符串操作运算符条件分支语句循环函数表实现数组迭代器遍历ipairs 遍历pairs 遍历实现字典实现类公共操作多脚本执行协同程序创建协程运行协程协程挂起协程状态元表Lua 面对对象封装继承多态Lua自带库时间库数学库路径Lua垃圾回收 变量Lua 中的一个变量可以随便赋值,自动识别类型基本数据类型--nil
a = nil
--number
a = 1
a =
转载
2024-04-04 09:13:33
128阅读
一、介绍红点系统是游戏和各种软件中常用的系统,本文的目的是使用lua实现一个基于树结构的简单红点系统;代码如下local RedPointManager = {}
local RedPointCPTb = {
RP_UI2_Btn1 = 'RP_UI1_Btn0',
}
function RedPointManager:Init()
self:InitRedPropertyTb()
e
转载
2024-07-29 23:56:29
79阅读
原理源码中加锁lua代码if (redis.call('exists', KEYS[1]) == 0) then
redis.call('hset', KEYS[1], ARGV[2], 1);
redis.call('pexpire', KEYS[1], ARGV[1]);
return nil;
end;
if (re
转载
2023-11-25 13:47:12
107阅读
虽然lua中字符串拼接“string.format”相对于“..”消耗较大,但有时为了代码的可读性,项目中还是经常用到“string.format”。至于这两个用法的性能看源码也很容易看出来,这里就简单说一下,前者其实调用C函数str_format来实现拼接的,而后者只是一个操作符,通过memcpy来拼接,并且多个“..”的操作其实也只执行了一次concat。常用占位符%c - 接受一个数字, 并
使用流程 1. 函数的使用 以下程序演示了如何在Lua中使用函数, 及局部变量 例e02.lua -- functions function pythagorean(a, b) local c2 = a^2 + b^2 return sqrt(c2) end print(pythagorean(3,4
转载
2024-01-15 21:26:15
114阅读
Class={};
Class.classList={}; --保存所有已经定义过的类
--类的类型: 类和接口, 接口也是一种类
Class.TYPE_CLASS="Class";
Class.TYPE_INTERFACE="Interface";
function Class.isExist(className)
return Class.classList[className]
转载
2023-11-28 13:26:47
59阅读
一、说明这里不对lua语言本身及其编译器运行环境等做介绍,以下所有介绍前提对lua相关有所了解。二、ngx_lua介绍原理ngx_lua将Lua嵌入Nginx,可以让Nginx执行Lua脚本,并且高并发、非阻塞的处理各种请求。Lua内建协程,这样就可以很好的将异步回调转换成顺序调用的形式。ngx_lua在Lua中进行的IO操作都会委托给Nginx的事件模型,从而实现非阻塞调用。开发者可以采用串行的
转载
2024-06-28 17:21:42
111阅读
Lua 中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1 的内嵌,而f1的外包也一定是f2的外包。内嵌函数可以访问
转载
2024-06-11 10:49:22
77阅读
在使用 Lua 进行实际开发的过程中,格式化字符串的函数 string.format() 的使用频率是非常高的,这里整理一下关于这个函数的使用。参数解析string.format(formatstring, ...)formatstring 为格式化串(必须是一个字符串),其中可能包含多个转义码(例如最为常用的 %d %s 等)。... 为数量不定的参数列表,以逗号分隔,与格式
转载
2024-02-26 08:54:40
204阅读
让lua面向对象lua本身不支持面向对象的特性,但是由于lua是基于原型(prototype)的语言,要实现面向对象的特性也是有一定的方法的,实现方式有很多种, 总结了一下我最近对使用lua实现面向对象的特性,主要可以分为以下两种不同的方式来实现: 1、使用metatable的__index域实现,实现的时候需要利用的lua语言的一些特性才可以实现,主要有: a、将table b作为table
转载
2024-03-29 22:23:10
78阅读