‘壹’ 求条形码识别源码
C#语言:public string bar_code(object str, int ch, int cw, int type_code)
{
string strTmp=str.ToString();
string code=strTmp;
strTmp=strTmp.ToLower();
int height=ch;
int width=cw;
strTmp=strTmp.Replace("0", "_|_|__||_||_|");;
strTmp=strTmp.Replace("1", "_||_|__|_|_||");
strTmp=strTmp.Replace("2", "_|_||__|_|_||");
strTmp=strTmp.Replace("3", "_||_||__|_|_|");
strTmp=strTmp.Replace("4", "_|_|__||_|_||");
strTmp=strTmp.Replace("5", "_||_|__||_|_|");
strTmp=strTmp.Replace("7", "_|_|__|_||_||");
strTmp=strTmp.Replace("6", "_|_||__||_|_|");
strTmp=strTmp.Replace("8", "_||_|__|_||_|");
strTmp=strTmp.Replace("9", "_|_||__|_||_|");
strTmp=strTmp.Replace("a", "_||_|_|__|_||");
strTmp=strTmp.Replace("b", "_|_||_|__|_||");
strTmp=strTmp.Replace("c", "_||_||_|__|_|");
strTmp=strTmp.Replace("d", "_|_|_||__|_||");
strTmp=strTmp.Replace("e", "_||_|_||__|_|");
strTmp=strTmp.Replace("f", "_|_||_||__|_|");
strTmp=strTmp.Replace("g", "_|_|_|__||_||");
strTmp=strTmp.Replace("h", "_||_|_|__||_|");
strTmp=strTmp.Replace("i", "_|_||_|__||_|");
strTmp=strTmp.Replace("j", "_|_|_||__||_|");
strTmp=strTmp.Replace("k", "_||_|_|_|__||");
strTmp=strTmp.Replace("l", "_|_||_|_|__||");
strTmp=strTmp.Replace("m", "_||_||_|_|__|");
strTmp=strTmp.Replace("n", "_|_|_||_|__||");
strTmp=strTmp.Replace("o", "_||_|_||_|__|");
strTmp=strTmp.Replace("p", "_|_||_||_|__|");
strTmp=strTmp.Replace("r", "_||_|_|_||__|");
strTmp=strTmp.Replace("q", "_|_|_|_||__||");
strTmp=strTmp.Replace("s", "_|_||_|_||__|");
strTmp=strTmp.Replace("t", "_|_|_||_||__|");
strTmp=strTmp.Replace("u", "_||__|_|_|_||");
strTmp=strTmp.Replace("v", "_|__||_|_|_||");
strTmp=strTmp.Replace("w", "_||__||_|_|_|");
strTmp=strTmp.Replace("x", "_|__|_||_|_||");
strTmp=strTmp.Replace("y", "_||__|_||_|_|");
strTmp=strTmp.Replace("z", "_|__||_||_|_|");
strTmp=strTmp.Replace("-", "_|__|_|_||_||");
strTmp=strTmp.Replace("*", "_|__|_||_||_|");
strTmp=strTmp.Replace("/", "_|__|__|_|__|");
strTmp=strTmp.Replace("%", "_|_|__|__|__|");
strTmp=strTmp.Replace(" ", "_|__|_|__|__|");
strTmp=strTmp.Replace(".", "_||__|_|_||_|");
strTmp=strTmp.Replace("_", "<span style='height:" height ";width:" width ";background:#FFFFFF;'></span>");
strTmp=strTmp.Replace("|", "<span style='height:" height ";width:" width ";background:#000000;'></span>");
if(type_code==1)
{
return strTmp "<BR>" code;
}
else
{
return strTmp;
}
}参考地址: http://www.7747.net/kf/201009/74759.html
‘贰’ 基于数字图像处理的条形码识别(C#)
个人觉得图像处理的就业还是不错的。首先可以把图像看成二维、三维或者更高维的信号,从这个意义上来说,图像处理是整个信号处理里面就业形势最好的,因为你不仅要掌握(一维)信号处理的基本知识,也要掌握图像处理(二维或者高维信号处理)的知识。其次,图像处理是计算机视觉和视频处理的基础,掌握好了图像处理的基本知识,就业时就可以向这些方向发展。目前的模式识别,大部分也都是图像模式识别。在实际应用场合,采集的信息很多都是图像信息,比如指纹、条码、人脸、虹膜、车辆等等。说到应用场合,千万不能忘了医学图像这一块,如果有医学图像处理的背景,去一些医疗器械公司或者医疗软件公司也是不错的选择。图像处理对编程的要求比较高,如果编程很厉害,当然就业也多了一个选择方向,并不一定要局限在图像方向。下面谈谈我所知道的一些公司信息,不全,仅仅是我所了解到的或者我所感兴趣的,实际远远不止这么多。搜索方向基于内容的图像或视频搜索是很多搜索公司研究的热点。要想进入这个领域,必须有很强的编程能力,很好的图像处理和模式识别的背景。要求高待遇自然就不错,目前这方面的代表公司有微软、google、yahoo和网络,个个鼎鼎大名。医学图像方向目前在医疗器械方向主要是几个大企业在竞争,来头都不小,其中包括Simens、GE、飞利浦和柯达,主要生产CT和MRI等医疗器材。由于医疗器械的主要功能是成像,必然涉及到对图像的处理,做图像处理的很有机会进入这些公司。它们在国内都设有研发中心,simens的在上海和深圳,GE和柯达都在上海,飞利浦的在沈阳。由于医疗市场是一个没有完全开发的市场,而一套医疗设备的价格是非常昂贵的,所以在这些地方的待遇都还可以,前景也看好。国内也有一些这样的企业比如深圳安科和迈瑞计算机视觉和模式识别方向我没去调研过有哪些公司在做,但肯定不少,比如指纹识别、人脸识别、虹膜识别。还有一个很大的方向是车牌识别,这个我倒是知道有一个公司高德威智能交通似乎做的很不错的样子。目前视频监控是一个热点问题,做跟踪和识别的可以在这个方向找到一席之地。上海法视特位于上海张江高科技园区,在视觉和识别方面做的不错。北京的我也知道两个公司:大恒和凌云,都是以图像作为研发的主体。视频方向一般的高校或者研究所侧重在标准的制定和修改以及技术创新方面,而公司则侧重在编码解码的硬件实现方面。一般这些公司要求是熟悉或者精通MPEG、H.264或者AVS,选择了这个方向,只要做的还不错,基本就不愁饭碗。由于这不是我所感兴趣的方向,所以这方面的公司的信息我没有收集,但平常在各个bbs或者各种招聘网站经常看到。我所知道的两个公司:诺基亚和pixelworks其他其实一般来说,只要涉及到成像或者图像的基本都要图像处理方面的人。比方说一个成像设备,在输出图像之前需要对原始图像进行增强或者去噪处理,存储时需要对图像进行压缩,成像之后需要对图像内容进行自动分析,这些内容都是图像处理的范畴。下面列举一些与图像有关或者招聘时明确说明需要图像处理方面人才的公司:上海豪威集成电路有限公司([url][/url])中芯微摩托罗拉上海研究院威盛(VIA)松下索尼清华同方三星所有与图像(静止或者运动图像)有关的公司都是一种选择。比如数码相机、显微镜成像、超声成像、工业机器人控制、显示器、电视、遥感等等,都可以作为求职方向。要求:1、外语。如果进外企,外语的重要性不言而喻。一般外企的第一轮面试都是英语口语面试。2、编程。这方面尤以C++为重,很多公司的笔试都是考c++知识。3、专业水平。如果要找专业相关的工作,研究生期间的研究经历和发表的论文就显的比较重要。4、知识面的宽度。我觉得在研究生期间,除了做好自己的研究方向之外,扩宽一下知识面也有很大的帮助,当然这个知识面指的是图像处理、计算机视觉和模式识别,知识面越宽,就业时的选择就会越多。 图像处理方向毕业的就业面非常广,而且待遇在应届生应该是中上等。其实还是一句话,能力决定一切。只要研究生三年没有白过,根本不愁找不到好工作。祝所有正在读研或者即将读研的朋友将来都能有一份满意的工作
如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la
‘叁’ 最近需要一些条形码译码的源代码 图像到字符的 C++语言的或是C#实现的都可以,请各位高手赐教
你说的条形码不是依靠扫描枪的条码吗?扫描枪的条码译码算法一般都是扫描枪产品驱动里边封装好了,直接会给你一个字符串,不需要自己做。
如果是仅仅一个图片的译码就比较麻烦了,图像识别技术当前还不是很成熟,没有听说有什么特别可靠的算法,不然像那种网站验证码就没有意义了。。。
自己写的话没有思路,只能一个像素点一个像素点的判断,很难受,很慢。
‘肆’ 如何实现图片文件中的条码识别!
根据条码规范,对图片处理识别...
‘伍’ C语言编写条形码识别
使用C语言做条形码可以按照以下流程:
1 查找条形码生成规则,或者直接找C语言的开源代码,制作封装字符串转条形码的接口函数;
2 读入要转换的数据;
3 将要转换的数据,通过1中的函数接口,转为图形点阵值。由于条形码只有黑白两色,所以这里可以用0,1两种值用矩阵表示;
4 根据编译器,启动图形界面,初始化图形区域;
5 在图形区域的空间内,按照0 1值,在对应点上上色,其中0上白色,1上黑色。
至此,条形码显示成功。
‘陆’ 如何为条码识别获取图像
条码控件Barcode Xpress可以处理1位黑白图像、8位灰度图像以及24位彩色图像。在Barcode Xpress中可以使用ColorDepth方法或是在Barcode Xpress组件中的其他的方法可以转换其余的图像格式,如果你使用的是ImageGear的话,那么直接使用ConvertColorSpace方法就可以了。
C++示例:使用Barcode Xpress导入图像
//load a 1BPP, black and white image into the ImagXpress control
m_pImagXpress->FileName = “C:\\testbarcodeimage.tif”;
// Copy the hDib
long hDib = m_pImagXpress->CopyDIB();
// Analyze the barcode
m_pBarcodeXpress->AnalyzehDib(hDib);
// Free the hDib
GlobalFree(LongToHandle(hDib));
VB示例:使用Barcode Xpress导入图像
' Load the image
ImagXpress1.FileName = "C:\testbarcodeimage.tif"
' Copy the hDib
hDib = ImagXpress1.CopyDIB
' Analyze the barcode
BarcodeXpress1.AnalyzehDib hDib
' Free the hDib
GlobalFree hDib
C++示例:使用ImageGear导入图像
// Create an ImageGear page
GearCORELib::IIGPagePtr page;
page = g_pIGCore->CreatePage();
// Load the page from file
m_pIGFormats->LoadPageFromFile(page, fileName, 0);
// Export the page to a dib
GearCORELib::IIGPlatformDIBPtr platformDib = page->PlatformDIBExport(GearCORELib::IG_DIB_EXPORT_FORMAT_WINDOWS, false, 0, 0, page->ImageWidth, page->ImageHeight, 0);
HGLOBAL hDib = LongToHandle(platformDib->DIBPtrGet());
// Read the barcodes
pBarcodeXpress->AnalyzehDib(HandleToLong(hDib));
VB示例:使用ImageGear导入图像
' Load the Page
Dim page As New IGPage
IGFormatsCtl1.LoadPageFromFile page, fileName, 0
' Export the platform dib from the page
Dim platformDib As IGPlatformDIB
Set platformDib = page.PlatformDIBExport(IG_DIB_EXPORT_FORMAT_WINDOWS, False, 0, 0, page.ImageWidth, page.ImageHeight, 0)
' Get the dib handle
Dim hDib As Long
hDib = platformDib.DIBPtrGet
' Read the barcodes on the image
bcx8.AnalyzehDib hDib
‘柒’ 如何从图像中读取条码
如果你有专业外设,比如富立叶的条码枪,或者带扫描头的PDA,那么用这些设备直接扫描即可。注意你所说的图像如果是在屏幕上,那必须用红光的扫描设备,如CILICO
CT007H,激光扫描头是不能扫电子屏幕的。
如果你指的是手机上的图片条码,在微信里长按这个图片,会出现一个菜单“识别图像中的条码”,选择这一项,微信就会自动识别条码内容,如果是网页的话就会给你打开。
‘捌’ 经过图像处理的PDF417条码识别程序MATLAB里为什么不能用啊代码如下
你可以一行一行的调试,找出错误的原因。
比如,“subplot(211),imshow(X); " 应该为”“subplot(2,2,1),imshow(X);”
我以前做过类似的题目,求条形码的行数和列数,不知道你的程序想实现什么功能。但是,程序的编写都类似,可以分模块不同的功能单独测试。
‘玖’ android里面 条形码扫描 应该是怎么做的,有没有源码 什么的,发一个给我啊
1、下载ZBar官方SDK程序(下载链接:http://zbar.sourceforge.net/index.html),并打开项目,如下图:
‘拾’ Android二维码识别源码,可有多种实现方式
这里简单介绍一下ZXing库。ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39码、93码。ZXing是个很经典的条码/二维码识别的开源类库,以前在功能机上,就有开发者使用J2ME运用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力。
下面是ZXing的demo运行,我这里创建了一个二维码,内容是我博客的网址,大伙可以用微信的扫一扫功能,试一下。就可以直接打开我博客。
2、ZXing库主要类
下面给大家介绍一下,ZXing库里面主要的类以及这些类的作用:
CaptureActivity。这个是启动Activity 也就是扫描器。
CaptureActivityHandler 解码处理类,负责调用另外的线程进行解码。
DecodeThread 解码的线程。
com.google.zxing.client.android.camera 包,摄像头控制包。
ViewfinderView 自定义的View,就是我们看见的拍摄时中间的框框了。
3、使用ZXing生成二维码
下面针对二维码生成和解析做个简单介绍,至于详细的使用方法,建议大家还是自己看看源码,使用起来很简单,不过这个开源项目的代码,值得好好看看。首先给出二维码生成的方法:
View Code
上面就是二维码生成的方法接口,如果你只是使用者方法,很简单,只要传入一个URL即可,就像我截图里面一样,传入一个合法的网址即可。或者像现在一些移动APP的推广,把APP下载地址转为二维码,只要扫一下就可以下载相应的APP。这个也是目前比较流行的APP的推广方式。
上面代码做的事情不多,主要是调用ZXing库里面QRCodeWriter().encode的方法对我们传进去的URL进行编码,具体如何编码,这个我这里就不详细说,有兴趣可以看ZXing的源码。文章最后会给出ZXing的源码和例子代码。
4、扫描二维码获取信息
扫描获取二维码信息的工作稍微复杂一些,主要是需要编写Camera的使用,这个跟我们一般使用Camera一样,需要使用Surfaceview作为预览,这一部我这里就不说了,这个应该不是太复杂。对于使用过Camera做预览的朋友,应该是挺简单的事情。获取二维码数据的关键处理是在Camera的自动对焦回调函数哪里,调用ZXing的解码接口。
View Code
这里稍微多说一句,由于解码需要一定时间,所以ZXing的解码调用,都是使用了Handler作为线程通信机制,解码的工作都是放在独立线程里面使用的,如果你直接在主线程解码,恐怕ANR问题是避免不了。
View Code
上面是解码的线程处理不同状态的时候需要注意的地方,我们这里只看获取图像成功的地方,成功获取图片解码的实在DecodeThread里面实现,DecodeThread里面解码成功后,会把数据序列化,然后保存到Bundle里面,我们可以直接通过Bundle的序列化,获取到图片数据。同时会把解码后的结果保存到MSG里面,然后就可以根据实际情况进行处理,例如上面代码,解码成功后,会调用一个处理函数:
View Code
上面就是整个二维码的解码流程,里面因为涉及很多Camera的使用,所以你如果需要使用二维码识别,需要注意一下你的程序需要申请下面的权限,一般的Camera使用以及Camera的自动对焦等。
View Code
5、结语
上面就是生成和识别二维码的关键流程和代码,有兴趣的朋友可以自己查看ZXing的源码,里面有很多图像分析的知识可以学习。具体使用也可以参考我下面给出的Demo。二维码对于现在移动开发来说很是很常用的技术,所以有空可以了解一下,说不定什么时候就用上了。另外,ZXing库除了二维码外,其实对于条形码也是支持的,只是我这里没有介绍。有需要的自己去看看源码即可。
转载