C# OpenCV QRcode scanner
2021. 1. 27. 09:00ㆍOpenCV/OpenCV C#
반응형
ZXing.Net 을 이용한 QRcode scanner
프로젝트 -> Nuget 패키지 관리 -> ZXing.Net 설치
실행코드
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;
using OpenCvSharp;
using OpenCvSharp.Blob;
using ZXing;
namespace QRcodeApp
{
class Program
{
static void Main(string[] args)
{
Mat src = Cv2.ImRead("../../qrcode2.png");
// create a barcode reader instance
var barcodeReader = new BarcodeReader();
// create an in memory bitmap
var barcodeBitmap = (Bitmap)Bitmap.FromFile("../../qrcode2.png");
// decode the barcode from the in memory bitmap
var barcodeResult = barcodeReader.Decode(barcodeBitmap);
// output results to consoles
Console.WriteLine($"Decoded barcode text: {barcodeResult?.Text}");
Console.WriteLine($"Barcode format: {barcodeResult?.BarcodeFormat}");
Cv2.ImShow("src", src);
Cv2.WaitKey(0);
Cv2.DestroyAllWindows();
}
}
}
결과
부족한점
.png 파일만 가능하고 이미지는 해석못한다.
출처
WindowForm
실행코드
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ZXing;
using ZXing.Common;
namespace QRcodeApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string decoded;
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Bitmap.FromFile("../../qrcode.png");
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
BarcodeReader reader = new BarcodeReader();
Result result = reader.Decode((Bitmap)pictureBox1.Image);
if (result != null)
{
decoded = "Decode : " + result.ToString() + "\r\n Type : " + result.BarcodeFormat.ToString();
if (decoded != "")
{
textBox1.Text = decoded;
}
}
else
MessageBox.Show("바코드나 QR코드를 비추세요!");
}
}
}
결과
부족한점
.png 파일만 가능하고 이미지는 해석못한다.
출처
https://jjungwooo.tistory.com/98
반응형
'OpenCV > OpenCV C#' 카테고리의 다른 글
C# OpenCV labeling (0) | 2021.01.19 |
---|---|
C# OpenCV Transformation (0) | 2021.01.17 |
C# OpenCV labeling Segmentation (0) | 2021.01.12 |
C# OpenCV histogram gray color BGR 그리기 (0) | 2021.01.09 |
C# OpenCV 이미지 전처리 (0) | 2021.01.06 |