gpt4 book ai didi

java - Java 中的条形码读取不能正确读取像素

转载 作者:行者123 更新时间:2023-11-30 09:11:08 24 4
gpt4 key购买 nike

我正在开发一个从 png 文件中读取条形码的程序。我在(x 轴上)开始 5 个像素,我确定条形码在图像中开始。我将 1 分配给黑线,将 0 分配给白线,并将每条线的值放入一个数组中。与所有条形码一样,它以黑线、白线和另一条黑线开头。这意味着前 3 个数字应该是 101。但事实并非如此。 Here is a link to the image这是代码(我正在阅读条形码的中间水平:

int q = 0;
for (i = 5; i < barcodeImage.getWidth()-5; i++) {

colorState = barcodeImage.getRed(i,middle);
//System.out.println(colorState);
if (colorState == 255) {
num[q] = 0;
}
if (colorState == 0) {
num[q] = 1;
}
q++;
}

非常感谢任何帮助!谢谢!

最佳答案

您链接的图像有两个像素宽的垂直线。

如果扫描整个 .png:

public static void main(String[] args) throws IOException {
BufferedImage barcodeImage = ImageIO.read(new File("src/barcode1.png"));
int middle = barcodeImage.getHeight()/2;
for (int i = 0; i < barcodeImage.getWidth(); i++) {
System.out.println(barcodeImage.getRGB(i, middle));
}
}

可以看到像素是w,w,w,w,w,b,b,w,w,b,b,w,w,w,w,b,b,b,b...等等.

关于java - Java 中的条形码读取不能正确读取像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com