自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(872)
  • 资源 (14)
  • 论坛 (75)
  • 收藏
  • 关注

原创 Jenkins简介及在Windows上的简单使用示例

Jenkins是一款开源CI(Continuous Integration,持续集成)&CD(Continuous Delivery,持续交付)软件,用于自动化各种任务,包括构建、测试和部署软件,源码在https://github.com/jenkinsci/jenkins ,License为MIT,最新发布版本为2.268,版本发布频繁。Jenkins支持各种运行方式,可通过系统包、Docker或者通过一个独立的Java程序。本质上,Jenkins是一个自动化引擎,它支持许多自动模式。Jenk

2020-11-28 18:36:23 12

原创 Ubuntu16.04上升级NVIDIA显卡驱动及安装CUDA10.0操作步骤

Ubuntu 16.04上已装有CUDA 8.0,现在想再安装CUDA 10.0,由于已安装的显卡驱动版本396.54不支持CUDA 10.0,因此安装CUDA 10.0之前需要先升级显卡驱动到410及以上版本。可在https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html中查看对应的显卡驱动支持的CUDA版本。1. 升级显卡驱动版本到430,依次执行如下命令后,重启电脑,sudo apt-get updatesudo

2020-11-20 10:50:06 90 1

原创 Docker容器中数据两种持久化存储方式:卷和挂载宿主目录

镜像使用的是分层存储,容器也是如此。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容器存储层。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。按照Docker最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发

2020-11-17 19:34:52 141

原创 开源库jemalloc简介

jemalloc是通用的malloc(3)实现,它强调避免碎片和可扩展的并发支持。它的源码位于https://github.com/jemalloc/jemalloc,最新稳定版本为5.2.1。glibc的内存分配算法是基于dlmalloc实现的ptmalloc;tcmalloc是Google开发的内存分配器;jemalloc在Facebook公司内部很多项目中使用。有时在Linux上使用glibc频繁调用malloc/free时会导致伪”内存泄漏”,此时可试试jemalloc,参考:https:/

2020-11-15 10:13:41 72

原创 Docker客户端常用命令整理

之前在https://blog.csdn.net/fengbingchun/article/details/109584460 中介绍过在Windows10家庭版和Ubuntu16.04上安装Docker的操作步骤,这里整理下Docker客户端常用命令。在Windows10家庭版上运行Docker后,通过VMware就不能打开Ubuntu16.04虚拟机了,提示"VMware Workstation与Device/Credential Guard不兼容。在禁用Device/Credential Gua.

2020-11-14 10:37:38 61

原创 Docker在Ubuntu16.04和Windows10家庭版上安装操作步骤

之前在 https://blog.csdn.net/fengbingchun/article/details/109559500 中对Docker作了简单的介绍,这里介绍下Docker在Ubuntu16.04 x86_64 64位上和Windows10 x86_64 64位家庭版上的安装过程。在Ubuntu上安装Docker(或Docker引擎),Ubuntu必须是64位的,最新版的Docker 19.03.13仅支持Ubuntu版本为16.04、18.04、20.04。在Ubuntu上安装Docker

2020-11-09 19:48:02 78

原创 Docker简介

Docker最初是docCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于docCloud公司多年云服务技术的一次革新,并于2013年3月以Apache 2.0授权协议开源,主要项目代码在GitHub上进行维护。Dokcer是一个开源的商业产品,Docker分为社区版(Community Edition, CE)和企业版(Enterprise Edition, EE)。其中Docker社区版是一个开放源代码软件,源代码位于https://github.com/doc

2020-11-08 15:00:20 276

原创 软件调试的艺术笔记:GDB

很久之前,在https://blog.csdn.net/fengbingchun/article/details/41413381中简单整理过gdb中常用的一些命令,不齐全,这里按照《软件调试的艺术》一书中关于gdb的介绍再做次整理。《软件调试的艺术》于2009年由人民邮电出版社出版。1. 预备知识GDB:Unix程序员最常用的调试工具,是由Richard Stallman开发的GNU项目调试器(GNU Project Debugger)。DDD:Data Display Debugger,数据

2020-10-18 12:32:03 412 4

原创 Linux下创建进程简介

在博文https://blog.csdn.net/fengbingchun/article/details/108940548中简单介绍了Windows下通过函数CreateProcess创建进程的过程,这里简单介绍下Linux下通过fork函数创建进程的过程。很早之前在https://blog.csdn.net/fengbingchun/article/details/45690745中也曾介绍过。进程创建的UNIX模型为分叉----执行(fork----exec)模型。fork函数调用生成一个完全复

2020-10-07 13:04:24 136

原创 Windows下创建进程简介

正在执行的应用程序称为进程,进程不仅仅是指令和数据,它还有状态。状态是保存在处理器寄存器中的一组值,如当前执行指令的地址、保存在内存中的值,以及唯一定义进程在任一时刻任务的所有其他值。进程与应用程序的一个重要的区别在于,进程运行时,进程的状态会发生变化。进程是应用程序的基本构建块。同时运行的多个应用程序实际上就是多个进程。要支持多个用户,通常是利用具有不同权限的多个进程实现的。除非一个进程创建时显式与另一进程共享状态,否则其所有状态应是该进程私有的,即对其他进程不可见。进程的优点在于每个进程是孤立的

2020-10-06 16:28:14 137

原创 Windows/Linux获取Mac地址和CPU序列号实现

UUID(Universally Unique Identifier)即通用唯一标识符,是指在一台机器上生成的数字,保证在全球范围的唯一性。可用的开源库如libuuid,可参考https://blog.csdn.net/fengbingchun/article/details/94590406。UDID(Unique Device Identifier)即设备唯一标识符。一般可通过获取设备的MAC地址+设备的CPU序列号作为设备的唯一标识符。MAC地址(Media Access Control Ad

2020-09-29 19:53:44 1994 1

原创 C++11中thread_local的使用

C++11中的thread_local是C++存储期的一种,属于线程存储期。存储期定义C++程序中变量/函数的范围(可见性)和生命周期。C++程序中可用的存储期包括auto、register、static、extern、mutable和thread_local。这些说明符放置在它们所修饰的类型之前。线程局部存储(Thread Local Storage,TLS)是一种存储期(storage duration),对象的存储是在线程开始时分配,线程结束时回收,每个线程有该对象自己的实例。这种对象的链接性(l

2020-09-20 12:51:46 1375 2

原创 基于BearSSL实现自签名证书双向认证测试代码

客户端、服务器端双向认证大致过程:可以参考:https://blog.csdn.net/fengbingchun/article/details/106856332(1). 客户端发起连接请求;(2). 服务器端返回消息,包含服务器端证书server.crt;(3). 客户端验证服务器端证书server.crt的合法性;(4). 客户端向服务器端发送客户端证书client.crt;(5). 服务器端验证客户端证书client.crt,并将选定的加密方案发给客户端;(6). 客户端发送

2020-09-15 10:19:59 190 1

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:总结

《汇编程序设计与计算机体系结构: 软件工程师教程》这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译。中文版是2019年出版的。个人感觉这本书真不错,书中介绍了三种汇编器GAS、NASM、MASM异同,全部示例代码都放在了GitHub上,包括x86和x86_64,并且给出了较多的网络参考资料链接。这里只摘记了NASM和MASM,测试代码仅支持Windows和Linux的x86_64。这里是基于之前所有笔记的简单总结,笔记列表如下:处理器、寄存器简介:https://blo

2020-09-12 20:45:54 132

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:其它架构

10. 与处理器及体系结构有关的高级话题10.2 处理器与系统的性能系统寄存器:包括下面几组:(1).控制寄存器(control register):用来表示处理器的模式以及与当前正在执行的任务有关的一些特征:cr0至cr4,其中cr1暂时保留不用;cr8寄存器,也叫作任务优先级寄存器(task priority register, TPR),用来安排外部中断的优先顺序,该寄存器只在64位模式下使用。(2).内存管理寄存器(memory-management register):用来指出保护

2020-09-12 10:28:16 162

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:内联汇编与宏

《汇编程序设计与计算机体系结构: 软件工程师教程》这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译。中文版是2019年出版的。个人感觉这本书真不错,书中介绍了三种汇编器GAS、NASM、MASM异同,全部示例代码都放在了GitHub上,包括x86和x86_64,并且给出了较多的网络参考资料链接。这里只摘记了MASM和NASM,测试代码仅支持Windows和Linux的x86_64。9. 内联汇编与宏9.2 内联汇编:是一种在高级语言中嵌入汇编代码的办法。还有一种办法也能

2020-09-05 17:10:33 230

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:函数、字符串、浮点运算

《汇编程序设计与计算机体系结构: 软件工程师教程》这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译。中文版是2019年出版的。个人感觉这本书真不错,书中介绍了三种汇编器GAS、NASM、MASM异同,全部示例代码都放在了GitHub上,包括x86和x86_64,并且给出了较多的网络参考资料链接。这里只摘记了NASM和MASM,测试代码仅支持Windows和Linux的x86_64。6. 函数6.2 栈内存入门:栈内存(stack memory)是为自动变量而设的一块区域

2020-09-05 14:35:04 184

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:指令

《汇编程序设计与计算机体系结构: 软件工程师教程》这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译。中文版是2019年出版的。个人感觉这本书真不错,书中介绍了三种汇编器GAS、NASM、MASM异同,全部示例代码都放在了GitHub上,包括x86和x86_64,并且给出了较多的网络参考资料链接。这里只摘记了NASM和MASM,测试代码仅支持Windows和Linux的x86_64。4. 基本指令4.1 简介:在很多情况下,MASM会根据上下文来推测指令中的操作数是什

2020-08-24 17:25:11 176

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:汇编语法基础知识

《汇编程序设计与计算机体系结构: 软件工程师教程》这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译。中文版是2019年出版的。个人感觉这本书真不错,书中介绍了三种汇编器GAS、NASM、MASM异同,全部示例代码都放在了GitHub上,包括x86和x86_64,并且给出了较多的网络参考资料链接。这里只摘记了NASM和MASM,测试代码仅支持Windows和Linux的x86_64。3. 汇编语言及其语法的基础知识3.2 基本元素:汇编代码的五大支柱:保留字(rese

2020-08-22 11:48:45 186

原创 汇编程序设计与计算机体系结构软件工程师教程笔记:处理器、寄存器简介

《汇编程序设计与计算机体系结构: 软件工程师教程》这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译。中文版是2019年出版的。个人感觉这本书真不错,书中介绍了三种汇编器GAS、NASM、MASM异同,全部示例代码都放在了GitHub上,包括x86和x86_64,并且给出了较多的网络参考资料链接。这里只摘记了NASM和MASM,测试代码仅支持Windows和Linux的x86_64。1. 编程语言及数据的基础知识1.1 开篇语:GNU Assembler(GAS)是一

2020-08-22 10:41:23 226

原创 王爽著的《汇编语言》第3版笔记

王爽著的《汇编语言》(第3版)于2013年出版,虽然是2013年出版的,但书中部分内容感觉已过时:(1). 基于intel 8086 CPU介绍,intel 8086是英特尔公司上个世纪生产的芯片,是16位的,早已停产;(2). 现在PC机上的intel CPU都是intel core i5, i7等,大部分都是64位的,书中介绍的代码段在现在的PC机上基于vs根本无法编译,而且有些语法在现代汇编语言中应该也不在支持。以下是对书中内容的摘记:注:基于intel 8086 CPU1. 基础知识

2020-08-15 10:31:52 1090

原创 Ubuntu上Vim安装NERDTree插件操作步骤

NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作。NERDTree源码在https://github.com/preservim/nerdtree。这里通过Vundle安装NERDTree,Vundle是Vim软件包的缩写,是Vim插件管理器。Vundle源码在https://github.com/VundleVim/Vundle.vim。安装Vundle:(1). 执行如下命令:mkdir

2020-08-13 19:18:50 280

原创 Windows/Linux TCP Socket网络编程简介及测试代码

典型的网络应用是由一对程序(即客户程序和服务器程序)组成的,它们位于两个不同的端系统中。当运行这两个程序时,创建了一个客户进程和一个服务器进程,同时它们通过从套接字(socket)读出和写入数据在彼此之间进行通信。开发者创建一个网络应用时,其主要任务就是编写客户程序和服务器程序的代码。网络应用程序有两类。一类是由协议标准(如一个RFC或某种其它标准文档)中所定义的操作的实现,这样的应用程序有时称为”开放”的,因为定义其操作的这些规则为人们所共知。对于这样的实现,客户程序和服务器程序必须遵守由该RFC所规

2020-08-07 09:23:44 261

原创 使用OpenSSL生成自签名证书相关命令

在用于小范围测试等目的的时候,用户也可以自己生成数字证书,但没有任何可信赖的机构签名,此类数字证书称为自签名证书。证书一般采用X.509标准格式。下面通过OpenSSL相关命令介绍如何生成自签证书。1. 生成自签名根证书(一级证书):(1).产生长度为2048的rsa私钥root.key,PEM格式:LD_LIBRARY_PATH=../lib ./openssl genrsa -out root.key 2048(2).验证私钥root.key:执行结果如下图所示LD_LIBRAR

2020-07-16 18:46:30 1167 3

原创 C和C++安全编码笔记:总结

《C和C++安全编码》(原书第2版)这本书是2013年出版的。这里是基于之前所有笔记的简单总结,笔记列表如下:字符串:https://blog.csdn.net/fengbingchun/article/details/105325508指针诡计:https://blog.csdn.net/fengbingchun/article/details/105458861动态内存管理:https://blog.csdn.net/fengbingchun/article/details/105921

2020-07-11 11:49:24 2309

原创 C和C++安全编码笔记:文件I/O
原力计划

C和C++程序通常会对文件进行读写,并将此作为它们正常操作的一部分。不计其数的漏洞正是由这些程序与文件系统(其操作由底层操作系统定义)交互方式的不规则性而产生的。这些漏洞最常由文件的识别问题、特权管理不善,以及竞争条件导致。8.1 文件I/O基础:安全地执行文件I/O会是一项艰巨的任务,一方面是因为有这么多的接口、操作系统和文件系统的变化。最重要的是,每种操作系统都可以用各种各样的文件系统。文件系统:许多UNIX和类UNIX操作系统都使用UNIX文件系统(UNIX File System, UFS)

2020-07-05 14:06:09 480

原创 C++中获取日期函数gmtime和localtime区别

函数gmtime和localtime的声明如下:struct tm * gmtime (const time_t * timer);struct tm * localtime (const time_t * timer);它们均接收一个time_t的const指针类型,time_t类型通常是一个大整数值,该整数值表示自UTC时间1970年1月1日00:00以来经过的秒数即UNIX时间戳,可直接调用time函数获取,如下面测试代码中的time(&rawtime)语句。它们均返回类型为t

2020-06-29 16:57:09 546

原创 C和C++安全编码笔记:并发
原力计划

并发是一种系统属性,它是指系统中几个计算同时执行,并可能彼此交互。一个并发程序通常使用顺序线程和(或)进程的一些组合来执行计算,其中每个线程和进程执行可以在逻辑上并行执行的计算。这些进程和(或)线程可以在单处理器系统上使用分时抢占式的方式(用一种时间分片的方法使每个线程和(或)进程中的执行步骤交错进行)、在多核/多处理器系统中,或者在一个分布式计算系统中执行。多个控制流并发执行是现代计算环境的重要组成部分。7.1 多线程:多线程不一定是并发的。一个多线程程序可以以这样一种方式构建,即它的线程不会并发执行

2020-06-25 21:25:05 1802 2

原创 SSL/TLS单向认证和双向认证介绍
原力计划

为了便于理解SSL/TLS的单向认证和双向认证执行流程,这里先介绍一些术语。1. 散列函数(Hash function):又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字”指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values, hash codes, hash sums)的指纹。散列值通常用一个短的随机字母和数字组成的字符串代表。好的散列函数在输入域中很少出现散列冲突。散列函数的工作原理如下

2020-06-19 15:05:20 831 4

原创 JWT(JSON Web Token)简介及实现
原力计划

JWT(JSON Web Token):是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为Json对象安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用HMAC SHA256或RSA等对JWT进行签名。JWT的组成:它是一个很长的字符串,中间用点(.)分隔成三个部分。它的三个部分依次是:Header(头部)、Payload(载荷)、Signature(签名)。JWT默认是不加密的。Header:是一个Json对象,描述JWT的元数据,例子如

2020-06-16 14:38:37 626

原创 C和C++安全编码笔记:格式化输出
原力计划

C标准中定义了一些可以接受可变数量参数的格式化输出参数,参数中包括一个格式字符串。printf()和sprintf()都是格式化输出函数的例子。格式化输出函数是由一个格式字符串和可变数目的参数构成的。在效果上,格式化字符串提供了一组可以由格式化输出函数解释执行的指令。因此,用户可以通过控制格式字符串的内容来控制格式化输出函数的执行。格式化输出函数是一个变参函数,也就是说它接受的参数个数是可变的。变参函数在C语言中实现的局限性导致格式化输出函数的使用中容易产生漏洞。6.1 变参函数:<stdarg.

2020-06-13 10:39:01 649

原创 通过OpenSSL的接口实现Base64编解码
原力计划

对openssl genrsa产生的rsa私钥pem文件,使用普通的base64解码会有问题,如使用https://blog.csdn.net/fengbingchun/article/details/85218653 中介绍的方法,一是有可能不能从返回的结果中直接使用strlen来获得最终字符的大小,因为返回的结果中可能会有0x00;二是pem文件中会有换行符,每行的字节长度超过64个字节就会有换行,普通的base64解码中不会对换行符有处理。在OpenSSL中,默认情况下,base64行长度限制为64个

2020-06-05 15:54:08 447

原创 从openssl rsa pem文件中提取公私钥数据实现
原力计划

RSA为非对称加密算法,关于其介绍可以参考:https://blog.csdn.net/fengbingchun/article/details/43638013。OpenSSL最新版为 1.1.1g,在Windows上和Linux上编译源码时均可以生成可执行文件openssl。通过此执行文件即可产生rsa公钥-私钥对,如产生长度为3072的密钥对,具体命令及执行结果如下图所示:3072是指modulus即模数长度为3072bit,即384字节。LD_LIBRARY_PATH=../lib ./o

2020-06-04 14:55:36 1293

原创 ASN.1简介及OpenSSL中ASN.1接口使用举例
原力计划

ASN.1(Abstract Syntax Notation One)是一套标准,是描述数据的表示、编码传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。OpenSSL的编码方法就是基于该标准。ASN.1是一种结构化的数字对象描述语言,它包括两部分:数据描述语言和数据编码规则。ASN.1的数据描述语言允许用户自定义基本的数据类型,并可以通过简单的数据类型组成更复杂的数据类型。ASN.1是ISO和ITU-T的联合标准,它本身只定义了表示信息的抽象句法,但是没

2020-06-02 09:28:28 748

原创 C和C++安全编码笔记:整数安全
原力计划

5.1 整数安全导论:整数由包括0的自然数(0, 1, 2, 3, …)和非零自然数的负数(-1, -2, -3, …)构成。5.2 整数数据类型:整数类型提供了整数数学集合的一个有限子集的模型。一个具有整数类型的对象的值是附着在这个对象上的数学值。一个具有整数类型的对象的值的表示方式(representation)是在为该对象分配的存储空间中该值的特定位模式编码。在C中每个整数类型的对象需要一个固定的存储字节数。<limits.h>头文件中的常量表达式CHAR_BIT,给出了一个字节中

2020-05-30 18:47:04 1017

原创 对称加密算法AES之GCM模式简介及在OpenSSL中使用举例

AES(Advanced Encryption Standard)即高级加密标准,由美国国家标准和技术协会(NIST)于2000年公布,它是一种对称加密算法。关于AES的更多介绍可以参考:https://blog.csdn.net/fengbingchun/article/details/100139524AES的GCM(Galois/Counter Mode)模式本质上是AES的CTR模式(计数器模式)加上GMAC(Galois Message Authentication Code, 伽罗华消息认证

2020-05-14 09:57:15 2947

原创 GitHub/GitLab/Gitee中项目互拷贝后仍保留历史提交记录的方法

GitHub、GitLab、Gitee等在同一个网站中执行复制或拷贝一个已有项目到一个新项目比较简单,因为它们在每一个项目上都有一个Fork按钮,直接点击此Fork按钮即可,Fork后的新项目会保留原有项目的历史提交记录。但是如果不在同一个网站上进行此操作,如想把GitHub中的项目复制到Gitee上,又要保留历史提交记录,则需要执行一些额外命令。如把GitHub上的Messy_Test项目(...

2020-05-05 20:46:33 1364 2

原创 C和C++安全编码笔记:动态内存管理
原力计划

4.1 C内存管理:C标准内存管理函数:(1).malloc(size_t size):分配size个字节,并返回一个指向分配的内存的指针。分配的内存未被初始化为一个已知值。(2).aligned_alloc(size_t alignment, size_t size):为一个对象分配size个字节的空间,此对象的对齐方式是alignment指定的。alignment的值必须是实现支持...

2020-05-04 18:23:21 4334

原创 libusb中的热插拔使用举例

以下为判断usb设备是插入还是拔出状态(热插拔)的测试代码:在Windows下是不支持的,在Linux是支持的,下一个版本可能会支持Windows下的热插拔:#include <chrono>#include <thread>#include <iostream>#include <libusb.h>namespace {boo...

2020-04-26 13:57:09 856 1

原创 libusb介绍及简单使用

libusb是一个开源的用C实现的,应用程序与用户的USB设备进行通信的库。它是可移植的,对外使用统一的API,支持Windows、macOS、Linux、Android。它是用户模式(user-mode),应用程序与USB设备通信不需要高权限,但是在Android下好像有些接口需要root权限才能调用成功。它支持所有版本的USB协议。它的License是LGPL,源码地址在https://git...

2020-04-23 17:35:14 3321

软件自动更新_base64编解码_xml文件的生成与读取

这是自己写的一个小程序,里面包括软件自动更新、base64编解码、xml文件的生成及从xml文件中读取数据四个部分,可以在vs2005及vs2008上直接运行。

2010-08-26

图像配准中用Harris进行角点特征提取

这是用matlab实现的代码,是在原有的基础上进行了改动,并且有详细的注释,里面附有一张图片,运行即可执行。

2010-08-27

c实现的sift算法源代码

这是Rob Hess用c实现的sift算法源代码,在VC++.net和openCV环境下运行。

2010-08-24

PDF417二维条码基础理论

这里面包含了三篇最新的PDF417二维条码最新论文,详细介绍了PDF417二维条码的结构、编译码原理、识读流程,非常适合于刚刚接触PDF417二维码的读者。

2010-08-15

基于特征的图像配准算法研究

这是一篇最新的比较全面介绍图像配准的硕士论文,里面详细介绍了图像配准的每一步骤。特征点算法介绍了sift、harris、susan;匹配策略包括互相关系数法、虚拟三角形法、ransac等。如果能详细的看一遍,肯定会受益匪浅。

2010-08-05

otsu算法及其改进方法

这是一篇小论文,里面详细介绍了otsu及其一种改进方法,按照论文中的步骤,即可实现otsu算法及其改进方法。

2010-07-13

二维最大熵阈值分割算法

这是一篇小论文,里面详细介绍了二维最大熵阈值算法的步骤,并对其进行了改进,提高了计算速度。

2010-07-13

二维条码图像定位算法

这是一篇硕士毕业论文,里面详细介绍了二维条码图像定位算法的每一步骤,很不错。

2010-06-29

二维条码图像处理算法应用研究

这是一篇较新的硕士学位论文,写的很不错,上传供大家分享,主要是介绍二维条码图像处理的,里面的每一步写的都很详细,真的很不错。

2010-06-08

C++ Primer(Fifth Edition)(英文版+中文版)

C++ Primer Fifth Edition,tar包里既包含英文版也包含中文版,可结合阅读。

2016-08-12

DrMemory-Windows-1.10.1-3

Windows下Dr Memory安装包

2016-06-09

SIFT算法用于图像配准

这是两篇比较新的全面介绍SIFT算法的论文,里面详细介绍了SIFT算法执行的每一步,对于初次接触SIFT算法阅读这2篇论文会大有帮助。

2010-09-06

小波矩特征提取matlab代码

这是我研究生阶段写的用小波矩进行二值图像的特征提取,好不容易才找到的,很珍贵的呀,上传与大家分享。里面包括了一个matlab代码和一副二值飞机图像,直接执行即可得出结果。

2010-07-24

在win mobile中如何使正在运行的软件自动升级更新

此文档描述了在win mobile中如何使正在运行的软件自动升级更新步骤,此方法已经用于一个实际项目中,效果不错,大家可以试试看。

2010-07-24

图像配准算法

发表于 2010-08-05 最后回复 2020-03-08

fengbingchun的留言板

发表于 2020-01-02 最后回复 2020-03-04

求助:如何隐藏控制台程序窗口?

发表于 2011-03-14 最后回复 2018-07-01

求助:如何将离散的点用平滑曲线画出来?

发表于 2011-09-22 最后回复 2018-06-24

求助:在一个.c文件中,在每个函数前都重复定义同一个宏,这样做有什么好处?

发表于 2011-07-12 最后回复 2016-07-24

求助:如何定义一个未知大小的数组指针?

发表于 2010-09-19 最后回复 2015-09-11

求助:如何在多个文件中使用同一个结构体

发表于 2011-07-07 最后回复 2015-08-18

求教:图像比对算法有哪些呢?

发表于 2010-07-27 最后回复 2015-05-11

求助:如何根据给定图像的像素值,判断此像素是何种颜色?

发表于 2012-08-20 最后回复 2015-03-26

求助:图像亮度自适应

发表于 2013-05-15 最后回复 2014-05-15

求助:vc6编写的控制台程序,设置断点,按F5没反应,直接按Ctrl+F5也不弹出窗口?

发表于 2011-08-05 最后回复 2014-05-06

求助:Android操作系统上能否用sse2指令集?

发表于 2013-12-26 最后回复 2014-01-14

求助:如何快速判断给定代码中是否定义了全局变量?

发表于 2013-10-25 最后回复 2013-11-04

求助:Android系统对于硬件加速GPU的支持

发表于 2013-08-12 最后回复 2013-10-25

求助:CUDA兼容性如何?

发表于 2013-08-05 最后回复 2013-08-23

求助:各个公司OpenCL异同点

发表于 2013-08-05 最后回复 2013-08-23

求助:如何优化代码,使CPU占有率最少

发表于 2013-06-17 最后回复 2013-07-21

求助:如果仅有一个Dll,该如何在自己工程中调用

发表于 2011-06-23 最后回复 2013-06-25

求助:DataGridView中如何获取一次性选择多行的行号?

发表于 2012-11-19 最后回复 2013-05-26

求助:在vc6.0中运行CImg库程序为何总出错?

发表于 2010-11-11 最后回复 2013-02-27

求助:vs2008,如何在MFC中使用自己创建的ActiveX控件(调用控件的方法)?

发表于 2011-05-25 最后回复 2013-01-15

求助:如何求取程序执行的路径名

发表于 2011-02-18 最后回复 2013-01-06

求助:Python用哪个开发工具好?

发表于 2012-11-09 最后回复 2012-11-28

求助:如何在c++中实现可变长数组的操作?

发表于 2012-09-26 最后回复 2012-09-26

求助:如何在c++中实现可变长数组的操作?

发表于 2012-09-26 最后回复 2012-09-26

求matlab中的conv2卷积函数用c++如何实现

发表于 2010-09-14 最后回复 2012-09-22

求助:c#如何实现主机访问内网服务器?

发表于 2012-09-18 最后回复 2012-09-18

求助:如何将c++的string数据类型写入sql server的datetime数据类型中

发表于 2012-08-30 最后回复 2012-08-30

求助:如何用c++实现将string类型数据写进sql server数据库表中datetime类型中

发表于 2012-08-30 最后回复 2012-08-30

求助:如何开发一个简单的播放视频文件的界面

发表于 2012-04-09 最后回复 2012-04-09

求助:对图像进行变换,matlab中的cp2tform和imtransform函数用c++或OpenCV该如何实现

发表于 2010-10-09 最后回复 2012-04-07

求助:如何检测图像有折角?

发表于 2011-02-23 最后回复 2012-01-31

求助:log4cplus的使用中,如何消除产生的多余的重复信息?

发表于 2011-12-13 最后回复 2011-12-17

求助:用于记录Log日志的常用的c/c++类库有哪些?

发表于 2011-11-28 最后回复 2011-12-07

求助:如何求取图像中相交直线交点的坐标?

发表于 2010-11-16 最后回复 2011-11-29

求助:如何让程序调用执行多个文件夹下的.h、.cpp文件?

发表于 2011-10-26 最后回复 2011-10-28

求助:如何将离散的点用平滑曲线画出来?

发表于 2011-09-22 最后回复 2011-10-27

求助:用vs2008创建ActiveX控件相关问题

发表于 2011-05-04 最后回复 2011-09-09

求助:复杂背景下的图像二值化方法有哪些?

发表于 2011-09-06 最后回复 2011-09-07

求助:vs2008中如何创建MFC DLL,外部如何调用?

发表于 2011-08-23 最后回复 2011-08-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除