我有jpg格式的条形码图像,并希望从中提取条形码#.请帮忙!
我想开发一个超市应用程序来检查和计费.
我应该使用条形码还是qrcodes?哪个会提供更好的准确性?
我们需要解析由其他方提供的GS1 datamatrix条形码.我们知道他们将使用GTIN(01),批号(10),到期日期(17),序列号(21).问题是条形码阅读器输出一个字符串,格式如下01076123456789001710050310AC3453G321455777.由于没有分隔符,并且根据GS1标准,序列号和批号都是可变长度,我们很难识别段.我的理解是,解析的最佳方法似乎是将解析器嵌入扫描设备中,而不是从应用程序中嵌入.但我们还没有计划嵌入式软件.我该如何实现解析器?有什么建议?
我使用 2 个不同的生成器工具生成了 2 个二维码,但输入数据相同。他们生成了完全不同的二维码。如果我扫描代码我得到相同的数据,所以看起来没问题,但我不确定这种现象的原因。任何的想法?
编辑: 示例:

输入数据:HTTP:/ /IQR.HU/Q/MP00AD483FEE6AC8E82B2B6D87C16526785BF6EA28731C943171C3907761E87BC8227C816202849A9FCF174B38016C26AA93ADD4883DD0943FAF7B5E38423E1792FA8EAB6DE5B5CD1BF42A0C2A8B5F73DD0E5E48F4E4FDF3E8356E5E3537D5C677D7377347075E3745B824A78EB808A6F8F6E96A8B710ADA30AD93DF7B96CE664CE5
我使用 ASP.NET MVC 5 创建了一个网站。该网站也可以作为 Web 应用程序在移动设备上使用。但现在我想添加用户在手机上使用该应用程序时使用移动相机扫描条形码的可能性。当然,有像phonegap这样的工具可以读取条形码,但重点是我想在我的ASP.NET MVC 5项目中添加此功能。
那么有没有办法在 ASP.NET MVC 5 中通过手机摄像头读取条形码呢?
我正在使用 Zxing 库从带有以下代码的字符串数字代码生成条形码位图:
public Bitmap encodeAsBitmap(String contents, BarcodeFormat format, int img_width, int img_height) throws WriterException {
String contentsToEncode = contents;
if (contentsToEncode == null) {
return null;
}
Map<EncodeHintType, Object> hints = null;
String encoding = guessAppropriateEncoding(contentsToEncode);
if (encoding != null) {
hints = new EnumMap<EncodeHintType, Object>(EncodeHintType.class);
hints.put(EncodeHintType.CHARACTER_SET, encoding);
}
MultiFormatWriter writer = new MultiFormatWriter();
BitMatrix result;
try {
result = writer.encode(contentsToEncode, format, img_width, img_height, hints);
} catch (IllegalArgumentException iae) {
// Unsupported format
return null;
}
int width = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Quagga制作条形码扫描仪。但我只能看到网络摄像头的实时版本,但它无法识别任何 ( code 128) 条码。(该代码段未在 stackoverflow 上显示网络摄像头。)
我想我错过了一步,但希望这里有人能把我推向正确的方向。
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
target: document.querySelector('#scanblock')
},
decoder : {
readers : ["code_128_reader"]
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Initialization finished. Ready to start");
Quagga.start();
});Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://serratus.github.io/quaggaJS/examples/js/quagga.min.js" type="text/javascript"></script>
</head>
<body>
<header style="text-align: center; margin-top:3%;">
<h3>Barcode Scanner</h3>
<hr/>
</header>
<div style="text-align: center; margin-top: 6%;">
<div id="scanblock"></div>
</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
以下 Swift 代码使用新的 iOS11 Vision 框架来分析图像并查找其中的二维码。
let barcodeRequest = VNDetectBarcodesRequest(completionHandler {(request, error) in
for result in request.results! {
if let barcode = result as? VNBarcodeObservation {
if let desc = barcode.barcodeDescriptor as? CIQRCodeDescriptor {
let content = String(data: desc.errorCorrectedPayload, encoding: .isoLatin1)
print(content) //Prints garbage
}
}
}
}
let image = //some image with QR code...
let handler = VNImageRequestHandler(cgImage: image, options: [.properties : ""])
try handler.perform([barcodeRequest])
Run Code Online (Sandbox Code Playgroud)
然而,问题是返回的是从二维码读取的desc.errorCorrectedPayload原始编码数据。
为了从描述符中获取可打印的内容字符串,必须解码该原始数据(例如,根据前 4 位确定模式)。
它变得更加有趣,因为苹果已经在 AVFoundation 中拥有用于解码原始数据的代码。该类AVMetadataMachineReadableCodeObject已经具有.stringValue …
当在form1上扫描条形码时,我调用数据库以获取该条形码的项目,并使用预先填充的数据打开form2。
如果我使用文本更改事件,则它的生成次数与一个条形码中的数字相同。
我无法检查条形码的长度,因为每次都可能不同。
扫描条形码时,我应该使用哪个事件只打一个电话?
我尝试了TextChanged,KeyPress,KeyDown事件,但是它们都被多次调用了。
private void txt_Barcode_TextChanged(object sender, EventArgs e)
{
con.Open();
GenerateInvoice gn = new GenerateInvoice();
string query = "SELECT * FROM dbo.Inventory WHERE Barcode = '" + txt_Barcode.Text + "' ";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader dr = cmd.ExecuteReader();
while (DR1.Read())
{
gn.txt_Barcode.Text = dr["Barcode"].ToString();
gn.txt_ProductName.Text = dr["ProductName"].ToString();
gn.txt_Price.Text = dr["SellingPrice"].ToString();
gn.txt_QTY.Text = 1.ToString();
gn.txt_Total.Text = dr["SellingPrice"].ToString();
}
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
我愿意使用文本框捕获Form1上的条形码(我将其隐藏在UI中)
我正在尝试使用这个包,因为它有多个条形码扫描仪。我运行他们自己的代码(可在pub.dev上找到),但它没有检测到任何条形码并给了我一些日志:
W/DynamiteModule(18708): Local module descriptor class for com.google.android.gms.vision.dynamite.barcode not found.
I/DynamiteModule(18708): Considering local module com.google.android.gms.vision.dynamite.barcode:0 and remote module com.google.android.gms.vision.dynamite.barcode:0
W/DynamiteModule(18708): Local module descriptor class for com.google.android.gms.vision.barcode not found.
I/DynamiteModule(18708): Considering local module com.google.android.gms.vision.barcode:0 and remote module com.google.android.gms.vision.barcode:0
E/Vision (18708): Error loading optional module com.google.android.gms.vision.barcode: com.google.android.gms.dynamite.DynamiteModule$LoadingException: No acceptable module foun
d. Local version is 0 and remote version is 0.
Run Code Online (Sandbox Code Playgroud)
它一遍又一遍地重复。
我满足了发布者提到的所有要求,但仍然不起作用。
这对我来说非常重要,我需要解决它,我问过一次,但没有人回答。你的回答对我来说太刻薄了,谢谢。