接触图像处理快3年了,从刚开始的懵懂到如今初始门径,经历了很多很多。首先谈谈吧新手接触图像处理时,感觉这个专业名词包含太广了,涉及领域颇多。
图像处理,无非是图像和处理。图像也无非是图和像,图哪里来,图由什么构成。理解这些就弄明白了一半的图像处理知识了。
切入正题。
说下自己接触的一个项目,因为有其他限制,简单说下,这是一个一维码和二维码识别的,这种东西,其实当下基本成熟了,从定位到解读,借助当下流行的两个开源库,zbar和zxing两个,刚开始我自己也是在pc端用的这两个,因为很多帖子都说了这两个库的优缺点,我也不细说,经过考究,选择的是zbar库。如果简单的在windows系统下,这个博客也就没有意义。
我们做的是有关dsp上的应用。将zbar这个应用到dsp上,经历了很多困难,废话不多说,具体讲讲如何实现的吧,因为看到这部分资源很少,为了减少大家少走弯路。
first,接触这个zbar源码,发现很多源文件,python的,java的,c和c++的,一下子很难入手。别急,其实关于zbar解码最为核心的是decoder,首先读下这个cpp,一维码的很多种类和二维码解码都放在这个文件里,条码的解码利用了预定义来解决相关联,如果你需要哪个就将头文件包含进来,其他的都可以删除。
second,我们需要哪些个头文件或者cpp文件呢,别捉急,慢慢来,刚开始我们有了解码这个源文件了,然后看下基本的头文件,zbar.h这个头文件,使用c++类定义的,我们可以改写成一般的c++语言。
third,有了zbar这个总的头文件,接下来做什么呢,因为,关于zbar解码,他要做的是将image转化成zbar解码格式的image,这部分的实现就是在image这个文件下。
到这里基本成功一大半了,将部分相关的头文件和实现都找到,其中,最主要的是symbol,zbar还有image decoder这个几个文件,其他的文件都是一些关于,线程和时间,系统的,这些东西我们可以舍弃。