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 =