- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 解决Opencv中putText乱码的方法
在网上看到的,记录一下。自己写个头文件putTextCN.h,里面包含下面三个函数。char* UnicodeToAnsi(wchar_t* szStr){ int nLen = WideCharToMultiByte(CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL); if (nLen == 0) { return NULL; } char* pResult = new char[nLen + 1]; WideCharToMultiByte(CP
2021-11-10 16:41:31 3772 1
原创 skynet queue
由于skynet服务有重入问题,所以找到了一个skynet queue方法。简单用法,假设test为在服务中需要顺序执行的函数。只要把一个函数往queue扔就行了。local function test() print("hello world")endlocal queue = require "skynet.queue"queue(test)翻了一下源代码,实现是用一个闭包函数达到目的。整体思路就是记录下current thread,判断current thread是否和.
2021-03-18 00:47:58 621
转载 大型手游登录流程
游戏登录过程在玩家的眼里是非常简单的,只需要点一下登陆按钮即可;实际上这个过程没有想象的那么简单,特别是在手游中,一般会加入第三方渠道之后;下面就把这个登录的整个过程写下来。一 登录渠道(客户端)流程:1 客户端输入渠道账号user_name和密码password;2 登录,登录SDK成功之后,会返回一个token;3 保存token;传入: app_id、app_key、user_name、password返回: token说明:app_id和app_key是游戏制作方在接入渠
2021-03-17 00:13:50 486
转载 skynet 热更新
inject热更新inject命令相当于注入代码到服务中,原理就是让指定服务执行某个代码文件,通过修改模块及其函数的upvalue,完成对lua模块代码或变量的替换。实践过程中,发现一个注意点:_P 内存的 key/value 其实就是 skynet.lua 里 14 行 proto 中的 name 和 dispatch 的 upvalue。inject用法很简单,启动skynet,连接到其控制台:# nc 127.0.0.1 8000Welcome to skynet c...
2021-03-16 22:24:09 624
原创 lua的面向对象
lua中可以用table来描述对象的属性。lua中的类可以通过 table + function 模拟出来。简单例子:Retangle = {area = 0, length = 0, breath = 0}function Retangle:new(o, length, breath) o = o or {} setmetable(o, self) self.__index = self self.length = length or 0 self.breat
2021-03-08 22:37:30 83
转载 图像的直方图均衡化
介绍一个opecv均衡化的函数,有个博客分析的很好,先收藏一下。https://blog.csdn.net/tanmx219/article/details/81701865
2021-02-25 13:09:53 91
原创 图像处理
一. 像素转换 常用的图像处理操作,可以用函数来表示。 输入可以是一张或者多张图像。 g(x) = h(f(x)) or g(x) = h(f0(x), . . . , fn(x))对于图像数据,x=(i,j)可以用来表示图像像素点上的值,因此公式可以写为g(i, j) = h(f(i, j))....
2021-02-25 13:02:42 143
原创 opencv的掩码操作
当需要对图像进行简单的像素点变化的时候,最常规的就是对每个像素点的值进行函数运算。opencv提供了掩码操作,让我们可以通过设置掩码来设置矩阵,效率比起自己手写要更高。以下是一个例子:以上的两个式子等价,M为掩码。第二个式子可以理解为作图像的卷积运算。opencv为我们提供了这样一个函数,让我们来达到这样的运算目标。void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point an...
2021-02-23 23:31:48 494
原创 opencv扫描图像和时间统计方法
当我们需要对图像的每个像素点进行调整的时候,可以利用图像扫描的办法,先设置好lookup table(一般是一维数组)的值,然后用原图的每个像素点的值找到在lookup table里面的值进行替换,变成新图像。比如做颜色空间缩减操作的时候。 opencv库提供了一个叫cv::LUT()的函数,可以通过预先设置lookup table,对图像进行调整。代码示例如下,其中I为输入图像,J为输出图像:Mat lookUpTable(1, 256, CV_8U);uchar* p = l...
2021-02-22 22:57:59 270
翻译 MAT----图像的容器
MAT----图像的容器Mat是opencv库提供的一个用来表示矩阵的c++类,可以用来表示多维矩阵数据,对于图像数据来说,只是二维矩阵,用来表示自然不在话下。基于这个类,我们不再需要考虑图像数据的内存管理,c++自动帮我们解决。 Mat类包含两个数据部分,一个是矩阵头部(包含矩阵的size,像素的存储方法等信息),另一个是指向矩阵数据内存的指针(数据...
2021-02-22 17:25:32 105
转载 c++ 中的常用 IO 流
常用 IO 库我们常说的 C++ IO 库一般指 iostream, fstream, sstream。iostream 包含了 istream(从流读)/ostream(从流写)/iostream(读写流)fstream 包含了 ifstream(从文件读)/ofstream(condition 文件写)/fstream(读写文件)sstream 包含了 istringstream(
2016-09-24 19:46:32 265
原创 在Windows下用C语言实现屏幕取色
看了一些取色器的文章,发现没有找到用C语言写的,决定自己写一个。 本文用的是Windows 提供的API ,还需要一个gdi32.dll, 这个文件一般放在系统盘的WINDOWS/System32下面。以下是用到的Windows API的一些链接。 https://msdn.microsoft.com/en-us/library/windo
2016-09-24 16:32:23 2246 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人