量子计算(二)量子计算

量子计算依靠量子计算机,但是当前我们可以看到的未来,量子计算机并不能取代经典计算机。量子计算不能解决经典计算机不能解决的数学难题,并且量子计算能解决的问题是有局限性的,经典问题不一定能利用量子计算机解决(如本博客上一篇所属,其优势在于依靠状态叠加来穷举)。量子计算固然速度快,但是如果把这些数据存入导出是严峻的问题。并且量子计算存在噪声影响,所以可纠错的量子计算机才具有商用价值(换句话说,量子计算机在未来相当长的一段时间内都没有商用价值)。与量子计算配套的算法和软件都需要重新设计,会是崭新的方向。博主摘抄一篇文章,看完之后会对量子计算的现状和未来有大致的了解和认知。…

量子计算(一)RSA加密算法

密码学的发展分为三个阶段:加密算法的保密(古典密码学),密钥的保密(对称加密),私钥的保密(非对称加密)。在对称加密的情况下,如果文件的接收方需要解密文件,就必须要拿到密码,文件发送者不得不对每个文件都设置一个密码,管理困难并且密码的保存和传输的安全性直接关系到加密算法本身。那么非对称加密就应运而生了。1977年,三维在MIT工作的R\S\A提出了RSA算法,并延用至今,加密用的密码(私钥)和解密用的密码(公钥)分离开来,我们公布公钥就可以保证传输安全了。根据公钥推导私钥就成为了密码学的攻防的焦点。

CMake使用NDK独立工具链进行交叉编译

在交叉编译中,NDK是一个很好的工具。windows、linux、android、32bit、64bit,能够处理绝大部分程序的交叉编译。而CMake组织程序又使得程序具有良好的跨平台编译。NDK下载好之后,工具链无法直接被cmake使用,需要通过一个脚本生成独立的工具链。这篇博客介绍CMake使用NDK的独立工具链。…

快速线段检测之EDlines算法

博主认识的几种线段检测算法有:Hough变换法、LineSegementDetector (OpenCV3中加入的算法)、FastLineDetector(在opencv的contribute模块中)。LSD算法的速度让人望而却步,FLD算法一大堆参数很难调优,并且速度并没有特别快。在使用这些算法的时候或多或少都遇到了问题,于是EDlines算法浮现在眼前,快速,并且效果不错。 Ed就是EdgeDraw的缩写…

PyTorch:The “freeze_support()” line can be omitted if the program is not going to be frozen

在windows上运行pytorch时,稍不注意就会遇到freeze_support()的错误。解决这种错误只要把代码放到if __name__ == “__main__”: 中运行就可以了。就忍不住来深究下这个问题。

这是一个关于windows上多进程实现的恩特。在windows上,子进程会自动import启动它的这个文件,而在import的时候是会自动执行这些语句的。如果不加__main__限制的化,就会无限递归创建子进程,进而报错。于是import的时候使用 name == “main” 保护起来就可以了。

正则表达式测试工具

最近因为有把sublime-completions插件转化成vscode-snippet插件的需要(这两个都是自定义代码补全插件),也就是做一些复杂的文本匹配和替换工作,所以写了一个很长的正则表达式。之前写过一篇正则表达式的博客,这篇博客就不说正则表达式了,介(摘)绍(抄)几个正则表达式的测试工具。

个人比较喜欢rubular(可能是因为博主刚上手比较生疏,这个网站给了一个demo,看一看就懂了)…

Sublime代码自动补全插件开发快速上手

厌倦了国内繁琐的备案和审查,对无缘无故的网站关停感到无奈,服务器搬到东京后的第一篇博客 ,点开网站速度超级快,心情顺畅,来一发博客。

我们在开发自己的脚本或者编程工具后,可以定义自己的代码自动补全。这篇博客将介绍Sublime中两种添加自己代码补全的方式:代码片段snippet和 completions。…

机器视觉中的光源与打光

机器视觉主要解决四大问题:定位、测量、检测、识别。在机器视觉中打光和光源影响着系统的稳定性,比如在测量应用中,光照发生10%-20%的变化,就可能导致图像边缘偏移1-2个像素,这些问题在算法层面是不容易解决的。所以了解光源和打光非常重要…

Python调用Lua:Lupa

lua与python均为成熟的脚本方案,它们的不同在与体量,Lua的体量小,高效的执行方式适合嵌入式,python胶水的强大不言而喻。那么如果自己已经有了lua脚本的解决方案,python能否调用呢?答案是肯定的,这篇博客将介绍python中集成的lua环境包:lupa,简单介绍该工具的使用。…

聊聊条码与二维码检测算法的优化

条码和二维码搞了许久,之前在做二维码识别的优化,想能搞出多少花来呢?最近需要在极小的内存下完成二维码的识别和解码。顿时头大了,不过锅刚刚解了,就来说一说。

条码和二维码的特点就是我们前处理之后,都是处理的二值图像。那么在二值图像上操作有什么好方法呢?不卖关子,说出答案了:游程编码。…

图像游程编码的腐蚀与膨胀操作

最近英语课上聊到了互联网兴起以来,交流方式的变化,博客是互联网最早的形式之一,已经相当老了,现在的交流变得更加简短,与微博和朋友圈不到一百字的简短相比,博客是相当长的了。可能是现代人太吝啬自己时间了,写博客的人越来越少,并且博客质量下降,得益于信息的快速传播,也出现了天下文章一大抄的现象。不过我想,还是有些东西需要实实在在的篇幅来沉淀的,于是想起有还有坑没有填,就快点过来把坑填完了。

通常我们使用游程编码的原因是因为游程编码更快,并且更加节省内存,游程编码可以做很多事情,其中就包括形态学操作,这篇博客将详细介绍在游程编码上实现形态学操作。…

Lua虚拟机指令

Lua虚拟机会将Lua语句进行解析,解析为Lua虚拟机指令。Lua虚拟机指令有如下四十条(在lopcodes.h有定义)。有时我们需要在lua层面分析lua虚拟机的行为,那么解析lua虚拟机指令将是非常有用的。 我们可以通过luac来将lua脚本生成lua虚拟机指令。…