我想将 zing 条码扫描仪集成到我的 android 应用程序中。所以我使用了zing积分器如下
public Button.OnClickListener mScan = new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage("com.google.zxing.client.android");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}};public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想在包含两个摄像头的 android 平板电脑(2.2 版)中实现这个应用程序。当我启动此功能时,它会自动开始使用后置摄像头(主)执行扫描,但根据我的应用需求,我需要仅使用前置摄像头执行条码扫描。有没有类似的选项
intent.putExtra("SCAN_MODE", "QR_CODE_MODE","FRONT_CAMERA");
Run Code Online (Sandbox Code Playgroud)
我正在寻找任何开源软件,它接受网络摄像头流并扫描条形码,返回当前帧中条形码的值(如果有)。如果使用 C 语言将是首选,但欢迎使用任何其他语言。请注意,我对使用手机或单独的条码扫描仪不感兴趣。
我目前正在尝试让 ZXing 扫描一些条形码。到目前为止,它的工作做得很好(通过意图)。
现在我想让它一次解码多个条形码(它们被放置在彼此下方)而不必单独扫描每个条形码。
这甚至可以通过意图实现吗?如果没有,将不胜感激如何以另一种方式做到这一点的简短示例:)
到目前为止,我只找到了一个非常古老的线程,其中用户请求了此功能,并且一些开发人员似乎已经集成了它。但是,我找不到任何解释使用的教程。
该线程可以在这里找到。
根据我对 Code128 条码校验位计算的理解*(与大多数其他标准条码类型完全不同/完全不同),我下面的代码是正确的。但是,我很感激那些可能更了解/有一些经验观察/从附着在他们的战壕(或实验室)外套上的战壕中的泥土的人进行的“健全性检查”。
条形码中的每个字符,从左边开始,首先被转换成它的 ASCII 码(IOW,条形码字符“1”被视为它的 ASCII 码 49,等等),然后该值乘以其序数在字符数组中的位置。
例如,对于制造的条形码编号“123456789”,“1”相当于 49,“2”相当于 50,……“9”相当于 57。
然后,每个字符的序号位置乘以其 ASCII 值。例如,1*49 == 49、2*50==100、... 9*57==513。然后将所有这些相加,得出(在本例中)2,445。
下一步是将该数字除以 Code128“幻数”103;您感兴趣的值是模数。因此,在这种情况下,2445 % 103 == 76。
倒数第二 - 最后,您转换该值 (76),将其视为 ASCII 代码,将另一个方向返回到其“表示”值,即“L”。
最后,您将计算出的字符附加到原始条形码。确实如此(尽管有更多的麻烦或告别),您最终得到的值为“123456789L”
如果这不是正确的值,那么我理解错误。
以下是一些条形码:
0) 123456789
1) 12345678
2) 1234567
3) 123456
Run Code Online (Sandbox Code Playgroud)
...以及它们应该如何与计算出的校验位一起出现(并使用下面的代码):
0) 123456789L
1) 12345678N
2) 1234567*
3) 123456E
Run Code Online (Sandbox Code Playgroud)
最后但并非最不重要的是,这是我用来计算 Code128 校验位的代码:
private void buttonAppendCode128CheckDigit_Click(object sender, EventArgs e)
{
const int CODE_128_DIVISOR = 103;
string barCode = textBoxRawCode128.Text.Trim();
int runningTotal = 0;
for (int i = barCode.Length …Run Code Online (Sandbox Code Playgroud) 我正在使用 Quagga.js 使用 HTML5 和 javascript 制作在线扫描应用程序。
我需要让网络摄像头工作来搜索条形码和导入的 quagga.js :
在 Quagga 的网页上,您会找到一个名为 Quagga.init 的方法。初始化网络摄像头视图。我在脚本标签中输入了这段代码:
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream"
},
decoder : {
readers : ["code_128_reader"]
}
}, function() {
console.log("Initialization finished. Ready to start");
Quagga.start();
});
Run Code Online (Sandbox Code Playgroud)
但什么也没发生。我需要做什么才能让这个网络摄像头工作?对于创建用于扫描条码的基于 Web 的应用程序,还有其他意见吗?
谢谢你的回答!
我正在使用 zxing api 来创建条形码。但是在创建时,我无法将条形码内容写为条形码下方的标签。
输出 -

需要输出——

生成这些条形码的代码如下 -
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class BarcodeTesting {
private static void wrtieToStream(BitMatrix bitMatrix) {
try {
MatrixToImageWriter.writeToStream(bitMatrix, "png", new FileOutputStream(new File("hello" + ".png")));
System.out.println( " Barcode Generated.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private BitMatrix generateBitMatrix(String content, BarcodeFormat format, int width, int height) {
MultiFormatWriter writer = new MultiFormatWriter(); …Run Code Online (Sandbox Code Playgroud)我首先假设下面的图像是一个二维码,但仔细检查后,它似乎是别的东西(注意,例如,矩阵中间的校准方块)。
有人知道这样的点阵叫什么吗?是否有任何工具可用于解码它(Python 是理想的......)?
非常感谢!
在我的应用程序中,我必须使用AVCaptureVideoPreviewLayer和捕获条形码AVCaptureSession,当我使用后置摄像头时,一切都非常完美且非常快,但是当我尝试从前置摄像头读取相同的代码时,它不起作用。我尝试AVCaptureVideoPreviewLayer使用以下代码videoPreviewLayer.affineTransform = CGAffineTransformMakeScale(-1, 1);镜像,它镜像了图像,但设备仍然无法检测到条形码。有没有办法从前置摄像头检测条形码?
我使用 Google Vision Barcode API 来扫描条码。由此,我可以从条形码中获取显示值。但是,如何在扫描条码后获得完整的产品信息?
这意味着,扫描后我得到的条形码值为 036000291452。但我也需要从中获取产品信息。
类似于下图:
条形码格式:UPC 036000291452 艺术家:Haindling 标签:Polydor
请帮忙!
我试图生成一些带有产品信息的条形码(使用python-barcode)我成功生成了条形码,但不删除代码下并编写我自己的文本
我的代码:
import barcode
from barcode.writer import ImageWriter
barCode = "00000016901011900000"
barCodeImage = barcode.get('Code128', barCode, writer=ImageWriter())
barCodeImage.save("one")
Run Code Online (Sandbox Code Playgroud)
这给了我这个条形码
但我想删除条形码下显示的数字并写入一些文本(如产品信息或名称)