二维码识别源码
❶ C#生成二维码(QR码)
C# 二维码的代码:
using Spire.Barcode;
using System.Drawing;
namespace CreateQRCode
{
class Program
{
static void Main(string[] args)
{
//创建BarcodeSettings对象
BarcodeSettings settings = new BarcodeSettings();
//应用Key,去logo
BarcodeSettings.ApplyKey("4KRJD-1K294-JJG9Z-SNR36-3P7IU");
settings.Type = BarCodeType.QRCode;//设置条码类型为二维码
settings.Data = "123456789";//设置二维码数据
settings.Data2D = "123456789";//设置显示文本
settings.ShowText = false;//设置二维码数据文本不显示
/*settings.ShowText = true;//显示数据文本
settings.ShowTextOnBottom = true;//数据文本显示在二维码底部*/
settings.QRCodeDataMode = QRCodeDataMode.Numeric;//设置数据类型为数字
settings.QRCodeECL = QRCodeECL.H;//设置二维码错误修正级别
settings.X = 3.0f;//设置宽度
BarCodeGenerator generator = new BarCodeGenerator(settings);//实例化BarCodeGenerator类的对象
//生成二维码图片并保存为PNG格式
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}
这里的实现方法借助专门的barcode生成根据spire.barcode for .net提供的类以及方法,解析二维码可以参考如下代码:
using System;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Spire.Barcode;
namespace ScanBarcode{
public partial class Form1 : Form {
public Form1()
{
InitializeComponent();
}
private void btnLoadImage_Click(object sender, EventArgs e)
{
//加载条形码图片
Image image = Image.FromFile("Code128.png");
pictureBox1.Image = image;
}
private void btnReadData_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(pictureBox1.Image);
//识别条形码图片中的数据(BarcodeScanner类包含多个Scan重载方法,可根据自己的需求选择相应的方法)
string[] data = BarcodeScanner.Scan(bitmap, BarCodeType.Code128);
for (int i = 0; i < data.Length; i++)
{
this.textBox1.Text += data[i].ToString();
}
}
}}
—End—
❷ 网上流行的二维码是怎么读取的求详细
二维条码/二维码(2D code.QR Code-abbreviated from Quick Response Code, a
form of 2D code-is the most known one)[1]是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。在许多种类的二维条码中,常用的码制有:Data
Matrix, Maxi Code, Aztec, QR Code,
Vericode, PDF417, Ultracode, Code
49, Code 16K 等,QR码是1994年由日本Denso-Wave公司发明。QR来自英文“Quick
Response”的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。QR码最常见于日本、韩国;并为目前日本最流行的二维空间条码。[
❸ Android 小黄车扫描二维码用的啥框架
这里简单介绍一下ZXing库。ZXing是一个开放源码的,用java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39码、93码。ZXing是个很经典的条码/二维码识别的开源类库,以前在功能机上,就有开发者使用J2ME运用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力。
下面是ZXing的demo运行,我这里创建了一个二维码,内容是我博客的网址,大伙可以用微信的扫一扫功能,试一下。就可以直接打开我博客。
❹ 二维码的识别原理是什么能造假(仿造)吗
二维条码/二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念。
使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:
它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。 二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。
二维码生成器的制作需要一个二维码生成算法,或者一个二维码插件,然后用JAVA ,C#, VB等编程语言编写一个调用软件就可以做成二维码生成器了。
二维码可以伪造,一般的二维码没有防伪功能;个人就能从网上下载二维码自动生成器,制作二维码。甚至有些不法分子设计了带病毒的二维码,窃取他人手机内的个人信息。专家建议手机用户,要有安全意识,不要轻易扫不明来源的可疑二维码。
(4)二维码识别源码扩展阅读:
简单的说,二维码就是把你想表达的信息翻译成黑白两种小方块,然后填到这个大方块中。有点类似我们中学的答题卡,就是把我们的语言翻译成机器可识别的语言,说白了就是把数字、字母、汉字等信息通过特定的编码翻译成二进制0和1,一个0就是一个白色小方块,一个1就是一个黑色小方块。
当然这其中还有很多纠错码,假如需要编码的码字数据有100个,并且想对其中的一半,也就是50个码字进行纠错,则计算方法如下。纠错需要相当于码字2倍的符号,因此在这种情况下的数量为50个×2=100码字。
因此,全部码字数量为200个,其中用作纠错的码字为50个,也就是说在这个二维码中,有25%的信息是用来纠错的,所以这也就解释了二维码即使缺了一点或者变皱了也一样能被识别。
有些朋友可能会问,为什么每个二维码上都会有三个黑色大方块呢?那就要涉及下面的内容:手机是如何识别二维码的。
由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光。
所以当摄像头扫描黑白相间的二维码上时,手机利用点运算的阈值理论将采集到的图象变为二值图像,即对图像进行二值化处理,得到二值化图像后,对其进行膨胀运算,对膨胀后的图象进行边缘检测得到条码区域的轮廓。
❺ C语言或C++编写二维码的解码部分详细的源代码及说明
1、二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读取。通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。
2、例程:
<pre name="code" class="cpp">int Fb_QrDisp(int iPenX,int iPenY,QRcode*pQRcode)
{
T_PixelDatasg_tOriginPixelDatas;
T_PixelDatasg_tZoomPixelDatas;
//intiZoom;
inti;
g_tOriginPixelDatas.iWidth= pQRcode->width;
g_tOriginPixelDatas.iHeight=pQRcode->width;
g_tOriginPixelDatas.iLineBytes=g_tOriginPixelDatas.iWidth;
g_tOriginPixelDatas.aucPixelDatas= pQRcode->data;
/*
if(pQRcode->version< = 1)
{
iZoom= 2;
}
else
{
iZoom= 2;
}
g_tZoomPixelDatas.iWidth = pQRcode->width*iZoom;
g_tZoomPixelDatas.iHeight=pQRcode->width*iZoom;
g_tZoomPixelDatas.iLineBytes=g_tZoomPixelDatas.iWidth;
g_tZoomPixelDatas.aucPixelDatas= malloc(g_tZoomPixelDatas.iWidth* g_tZoomPixelDatas.iHeight);
if(g_tZoomPixelDatas.aucPixelDatas== NULL)
{
printf("g_tZoomPixelDatas->aucPixelDatasmalloc failed ");
return-1;
}
PicZoom(&g_tOriginPixelDatas,&g_tZoomPixelDatas);
#if 0
printf("g_tZoomPixelDatas.iWidth=%d,g_tZoomPixelDatas.iHeight=%d ", g_tZoomPixelDatas.iWidth,g_tZoomPixelDatas.iHeight);
for(i=0;i<(g_tZoomPixelDatas.iWidth*g_tZoomPixelDatas.iHeight);i++)
{
printf("0x%x,",g_tZoomPixelDatas.aucPixelDatas[i]);
}
printf(" ");
#endif
*/
Disp_FixelPic(iPenX,iPenY,&g_tZoomPixelDatas);
return 0;
}
因为stmf429运行起来后内存不够,这里不用申请内存再扩充放大二维码数据的方法,而是直接描点。所以这里注释掉了放大部分。
❻ PDF417二维码生成源码.net程序
下这个吧. 自己看看源码就OK了:
http://www.pudn.com/downloads150/sourcecode/graph/detail648336.html
❼ 能将你基于mfc对话框生成的二维码代码给我看看吗
貌似网上有MFC的识别和生成二维码的源码。
❽ 怎么制作用摄像头识别二维码的软件,用vb或C++做的
首先要写一个从摄像头读取数据的代码,这部分可以用opencv来搞定,再就是从图片识别出二维码,这部分网上应该也有源码。如果你分别找这两部分的源码,比你把整个需求写出来找源码要容易的多。要不你试试按上面的搜一下,自己写起来还是比较麻烦的,老板又叫板砖了,恕我不给你写源码了。。。
❾ html5+js实现二维码扫描
通过下面的代码即可实现:
HBuilder就有调用原生硬件的接口html5++
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<title>CameraExample</title>
<scripttype="text/javascript">
//扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener("plusready",onPlusReady,false);
varr=null;
//扩展API加载完毕,现在可以正常调用扩展API
functiononPlusReady(){
//获取设备默认的摄像头对象
varcmr=plus.camera.getCamera();