Category Archives: 软件技术

  • 0

软件开发案例-验证码识别

Category : 软件技术

随着互联网技术的普及,各种自动提交/营销类工具层出不穷。为了防止机器人自动提交数据,验证码也变得越来越复杂。

在实际的开发案例中我们也碰到了很多类型的验证码,大部分都能破解,除了极个别的验证码(比如BAT的验证码识别难度都非常大)。

验证码的识别主要用到的是图像处理以及人工智能方向的样本/训练算法。

以下是我们识别的一些验证码的案例以及效果:

 

0 2_2 15_4 25_3

识别率98%

 

30 505354-001 506253-001 509272-001 515493-001

识别率25%

1

 

识别率100%

gif 26

识别率100%

4 1 2 3

 

识别率 90%

 

 

 

 


  • 0

基于C++的Kinect手势识别实现

在WPF下有一些开源的Kinect手势识别库,Kinect for windows sdk 1.7以上版本的Tool kit还提供了很多手势的UI控件,相当方便。
但是,考虑到效率问题,我们的项目必须使用到C++开发(之前有WPF开发的版本,操作不够流畅)。

“Read More”

  • 0

OpenGL的面向对象封装

Tags :

Category : 综合技术 , 软件技术

我们在基于Kinect的魔法面具项目中需要使用OpenGL来渲染3D模型。OpenGL是基于C语言的图形渲染API,我们在项目中需要加载并渲染多个3D模型,所以需要对OpenGL做一层面向对象的封装。在此前我们团队的成员都没有深入接触过OpenGL,直到这个项目,才知道OpenGL的不同。

首先,OpenGL与线程直接绑定,每个线程渲染的图形都是独立的,这为我们的封装提供了一定的便利。但是由于不了解这个特性,在实际开发中我们总是发现经常出现渲染失败的情况,仅仅是因为一个接口调用的地方不一样,后来经过总结并且查阅相关资料,终于发现是由于OpenGl线程绑定导致的这一现象,对某一个3D模型的渲染必须在同一个线程中进行,而我们的封装有时会出现在A线程初始化,在B线程绘图。

“Read More”

  • 0

WPF 3D模型动态加载处理

我们正在做一个Kinect互动的项目,其中要加载很多3D模型来处理。

由于没有这方面的经验,到百度找了很多资料。但资料大部分都是静态的,模型只能事先加载。好不容易找到可以动态加载的相关文章,文章还提供了相关的类,但是这个类还是有缺陷,只能加载OBJ文件,却不能对3D图片进行贴图,这达不到我们的效果。

“Read More”

  • 0

使用Android编写APP发送彩信

现在一台短信网关的价格动辄上千元,于是我们和客户萌生了回收旧的Android手机作为短信和彩信网管的想法。说做便做,很快整个系统的框架就出来了,但是由于缺乏Android开发的经验,遇到一个大坑。

Android并没有官方的API发送彩信,经过苦苦搜寻网上也没找到开源的相关接口。

“Read More”

  • 0

一个栈溢出错误

Tags :

Category : 编程语言 , 软件技术

一段很正常的程序,在VS2010下运行异常退出,中断在CHKStk.sam文件中。很明显,栈溢出了。

但是检查程序没有任何问题,也没有用到递归消耗栈资源。

放大线程的栈空间可以解决问题,最后发现是程序中部分接口返回值直接返回了string类型的值。

所以,养成个好习惯是很重要的,对于占用空间比较多的参数或者返回值,最好还使用指针或者引用传递参数!


  • 0

使用GDB调试程序时出现“Temporarily disabling breakpoints for unloaded shared library”错误的原因分析和解决方法

使用GDB调试程序时出现“Temporarily disabling breakpoints for unloaded shared library”错误的原因分析和解决方法
这并不是一个很常见的问题,笔者是第一次碰到。从字面意思来看意思是断点打在没有加载的动态库上,所以出现这个提示后第一个想到的是不是动态库有问题。
仔细检查动态库,重新编译,但是结果仍然一样。

“Read More”

  • 0

中文乱码的解决之道,理清UTF8,UTF16,GB2312,Big5,Unicode之间的关系

对于使用中文的程序员们来说,中文乱码是经常碰到的问题,对于经验不是很丰富的程序员来说,中文乱码还是个相当头疼的问题。

我们知道,计算机中最简单也是最常见的编码方式是ASCII编码,由于英文字符很少,一个字节就足以表示,所以ASCII码以字节为单位,非常简单方便。然而,汉字的字符却很多,需要用2个字节才能表示完全,所以才有了各种其他的汉字编码方式。

“Read More”