Java 使用ZBar(Android)SDK,我的应用程序从同一本书中获得不同的ISBN
我正在创建一个应用程序,它使用Android上的ZBar SDK扫描书籍并获取其ISBN。我已经把一切都安排在身体方面了。你按下一个按钮,扫描仪窗口弹出并扫描条形码 当应用程序从扫描器中获取ISBN时,问题就出现了,扫描器可能读取的条形码不正确,或者我没有提取正确的数据。有人知道如何解决这个问题吗?谢谢下面是相关代码和一些屏幕Java 使用ZBar(Android)SDK,我的应用程序从同一本书中获得不同的ISBN,java,android,zbar,Java,Android,Zbar,我正在创建一个应用程序,它使用Android上的ZBar SDK扫描书籍并获取其ISBN。我已经把一切都安排在身体方面了。你按下一个按钮,扫描仪窗口弹出并扫描条形码 当应用程序从扫描器中获取ISBN时,问题就出现了,扫描器可能读取的条形码不正确,或者我没有提取正确的数据。有人知道如何解决这个问题吗?谢谢下面是相关代码和一些屏幕 @Override public void onClick(View v) { //TODO add functionallity if(v.g
@Override
public void onClick(View v)
{
//TODO add functionallity
if(v.getId() == R.id.ScanButton)
{
Intent intent = new Intent(this, ZBarScannerActivity.class);
intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.ISBN10, Symbol.ISBN13, Symbol.EAN8, Symbol.EAN13 });
startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK)
{
// Scan result is available by making a call to data.getStringExtra(ZBarConstants.SCAN_RESULT)
// Type of the scan result is available by making a call to data.getStringExtra(ZBarConstants.SCAN_RESULT_TYPE)
contentText.setText("ISBN: " + data.getStringExtra(ZBarConstants.SCAN_RESULT));
Toast.makeText(this, "Scan Result = " + data.getStringExtra(ZBarConstants.SCAN_RESULT), Toast.LENGTH_SHORT).show();
Toast.makeText(this, "Scan Result Type = " + data.getStringExtra(ZBarConstants.SCAN_RESULT_TYPE), Toast.LENGTH_SHORT).show();
// The value of type indicates one of the symbols listed in Advanced Options below.
}
else if(resultCode == RESULT_CANCELED)
{
Toast.makeText(this, "Scanning Cancelled", Toast.LENGTH_SHORT).show();
}
}
我们已经在一个桌面应用程序的生产中使用了Zbar。在本文中,我们从图像中提取条形码并使用它。虽然它与您的不同,但问题与我们从实时流中提取条形码的问题相同 您面临的问题非常普遍且容易出错。最终一切都取决于画面。(事实上,你会在
Zxing
、Eymbarcode
和其他开源代码中观察到同样的行为。我发现最稳定的是)。最终,我们不得不求助于拍照指南。以下是我们用来避免这种情况的质量因素:
以下因素决定了应用程序的检测能力:
上面所述并不能解决您的问题,但我希望它能帮助您我们已经在一个桌面应用程序的生产中使用了Zbar。在本文中,我们从图像中提取条形码并使用它。虽然它与您的不同,但问题与我们从实时流中提取条形码的问题相同 您面临的问题非常普遍且容易出错。最终一切都取决于画面。(事实上,你会在
Zxing
、Eymbarcode
和其他开源代码中观察到同样的行为。我发现最稳定的是)。最终,我们不得不求助于拍照指南。以下是我们用来避免这种情况的质量因素:
以下因素决定了应用程序的检测能力:
以上这些并不能解决您的问题,但我希望能有所帮助这是一个好答案。在做了大量的测试之后,我认为最合理的选择将是基本上加强相机的良好使用。当然,我会检查一些东西,比如字符串长度和某些数字的一致性,这些都会出现在所有的ISBN中,但是一次良好规则的扫描似乎是最用户友好的选择。谢谢。@Alioo我的荣幸:)这是一个很好的回答。在做了大量的测试之后,我认为最合理的选择将是基本上加强相机的良好使用。当然,我会检查一些东西,比如字符串长度和某些数字的一致性,这些都会出现在所有的ISBN中,但是一次良好规则的扫描似乎是最用户友好的选择。谢谢。@Alioo我的荣幸:)