C#--解析DataMatrix二维码

本文介绍了在C#中解析DataMatrix二维码的过程,重点讨论了裁剪图像和旋转处理以提高识别成功率的方法。遇到的问题包括裁剪后zxing无法识别,而使用Windows画图裁剪并保存的图片可以被识别。解决关键在于设置裁剪图片的分辨率。作者还提出了自动识别二维码区域的疑问,并提及可能使用OpenCV进行图像处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#–解析DataMatrix二维码

最近在玩解析图片中的DM码。DM码在图片中显得尺寸小,而且也不清晰。一开始直接上谷歌的zxing,有些能解析出来,但是有些却显得无能为力。后来找到一个DataMatrix.net,用它解析,成功率大大提升,但是耗时。在调用zxing或者DM进行解析时,进行了
1 裁减–把二维码区域裁减出来(DM码在图片中太小,是必要的一步)
2 解析,如果不成功则旋转90度解析,直到解析成功或则旋转270度

其中,裁减这一步使用的是clone方法,但是不清楚为何有时使用这个裁减出来的图片zxing还是不能解析出来,但是使用win7系统自带的画图裁减并另存为jpg格式的时候,zxing却能解析。百思不得其解。

另外,如何实现自动识别出二维码区域呢?需要对图像进行一些处理吗?OpenCV?


2018-8-14
1 找出裁减图片与win系统画图板裁减不一致的原因了,因为没有设置分辨率。
2 代码如下

            Rectangle imgRect = new Rectangle();
            imgRect.X = rect.X * pictureBox1.Image.Width / pictureBox1.Width;
            imgRect.Y = rect.Y * pictureBox1.Image.Height / pictureBox1.Height;
            imgRect.Height = rect.Height * pictureBox1.Image.Height / pictureBox1.Height;
            imgRect.Width = rect.Width * pictureBox1.Image.Width / pictureBox1.Width;
            if (imgRect.Wi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值