Сканирование штрих-кода с помощью передней камеры ноутбука - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь интегрировать функцию сканирования штрих-кода с помощью C # WinForm и следовал этому уроку, который прекрасно работает.

Сканирование штрих-кода с помощью C #

Теперь проблема в том, что яУ меня нет дополнительной веб-камеры, и я ожидаю, что если я смогу захватить изображение с помощью камеры ноутбука ( HP Pavilion g6 ) для сканирования штрих-кодов.

можно загрузить изображение, а затем отсканировать изображение с помощью нажатия кнопки. Лучше, если я смогу сканировать штрих-код без нажатия кнопки, как когда я получаю изображение штрих-кода перед камерой, тогда он должен мгновенно сканировать событие камеры вместо нажатия кнопки. Любые другие библиотеки, которые я могу использовать? Любые идеи или предложения будут высоко оценены - спасибо.

Даже пробовал это, но не очень полезно - Фронтальная камера ноутбука

NB : Вместо этого урока я использовал пакет IronBarcodeдля сканирования штрих-кода и кажется очень удобным, но использует сканирование кнопки, а также загрузить изображение. Итак, вот что я сделал до сих пор:

Первоначально установите пакет ниже :

PM > Install-Package Barcode

Загрузите изображение с PictureBox :

private void btnLoadFile_Click(object sender, EventArgs e)
{
   using (OpenFileDialog dlg = new OpenFileDialog())
   {
      if (dlg.ShowDialog() == DialogResult.OK)
      {
        Bitmap bitmap = null;

        try
        {
            bitmap = new Bitmap(dlg.FileName);
        }

        catch (Exception ex)
        {
            MessageBox.Show("File not supported - " + ex);
            return;
        }

        pictureBox1.Image = new Bitmap(dlg.FileName);
      }
   }
}

Сканирование или считывание штрих-кода :

private void btnScan_Click(object sender, EventArgs e)
{
    BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode((Bitmap)pictureBox1.Image);

    if (Result != null)
    {
      MessageBox.Show("Scanning was successful with the value: " + Result.Text);
    }
    else
    {
      MessageBox.Show("Something went wrong!");
    }
}

Снимок экрана :

Sample Image

...