条形码识别程序

上传人:子 文档编号:41910107 上传时间:2018-05-31 格式:DOC 页数:7 大小:30.50KB
返回 下载 相关 举报
条形码识别程序_第1页
第1页 / 共7页
条形码识别程序_第2页
第2页 / 共7页
条形码识别程序_第3页
第3页 / 共7页
条形码识别程序_第4页
第4页 / 共7页
条形码识别程序_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《条形码识别程序》由会员分享,可在线阅读,更多相关《条形码识别程序(7页珍藏版)》请在金锄头文库上搜索。

1、条形码识别程序条形码识别程序/* 用来识别 EAN13 方式编码的图片* 图片高度像素必须大于 30px,宽度像素必须大于 200px* 图片区域内只包含条码和空白部分,且左右两端的空白部分必须在 10%-20%左右* author tangkf*/public class EAN13Reader static int HEIGHT = 6;/截取的样本图像像素高度static int BW_MID = 100;/判断黑白的阀值static int LEFT_TABLE_INT= new int 3,2,1,1,2,2,2,1,2,1,2,2,1,4,1,1,1,1,3,2,1,2,3,1,1

2、,1,1,4,1,3,1,2,1,2,1,3,3,1,1,2,1,1,2,3,1,2,2,2,2,2,1,2,1,1,4,1,2,3,1,1,1,3,2,1,4,1,1,1,3,1,2,1,3,1,2,1,2,1,1,3;static int RIGHT_TABLE_INT= new int 3,2,1,1,2,2,2,1,2,1,2,2,1,4,1,1,1,1,3,2,1,2,3,1,1,1,1,4,1,3,1,2,1,2,1,3,3,1,1,2;/* 测试* author tangkf* param args*/public static void main(String args) lo

3、ng a= System.currentTimeMillis();String src= “f:/tm-01.jpg“;BufferedImage img = getImg(src);long b= System.currentTimeMillis();System.err.println(“读取图片耗时:“+(b-a)+“ ms“);System.out.println(“解码结果:“+getRealValue(img);long c= System.currentTimeMillis();System.err.println(“图片解码耗时:“+(c-b)+“ ms“);/* 根据条码图像

4、区域返回条码数据* author tangkf* param img 图像区域* return*/public static String getRealValue(BufferedImage img)int w = img.getWidth();int h = img.getHeight();int y = (int)(h/2);if(yHEIGHT*2) y= (int)(h/2)-(HEIGHT/2); else y = 1;StringBuffer valuestr= new StringBuffer(“);int chg= 0;/记录颜色变化次数int gvn= 0;/记录实际取值次

5、数(每变化一次取值一次)int ln= 0;/记录同色连续像素的数量int uprv= -1;/记录上次的像素取值int xdv= 0;/参考底色,取前 8 个像素的颜色作为底色参考值int gvalue= new int4;/临时记录一组数字for(int i=0;iHEIGHT/2?1:0; /n 个以上的像素为深色,就表示该列为深色if(rv=uprv)ln+;elsechg+;/变化次数+1 if(chg1 return rvalue;/* 求一组样本数的方差和(针对所有样本数都相同的情况简化算法)* param numlist*/public static int getFX(int

6、 numlist)if(numlist.length16)int g = (rgb8)int b = rgbdouble avg= 0.299*r+0.587*g+0.114*b; /判断黑白return (int)avg;/* 读取图片* param srcImg* return*/public static BufferedImage getImg(String srcImg)BufferedImage img = null;try img= ImageIO.read(new File(srcImg); catch (IOException e) e.printStackTrace();return img;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号