zxing在ios下解析二维码时返回值中…

当zxing在解析UIImage中的二维码内容成功后除了返回二维码的内容外,还会返回二维码的三个定位块的中心点坐标,但是返回的坐标位置跟原图的坐标并不相同,而是小了很多。事实上,返回的坐标是一组被缩小了的图的坐标,也就是subset中的坐标,所以需要换算。换算过程如下(伪代码):

变量:

UIImage* image;//原图

UIImage* subset;//zxing回调的时候默认传出的灰度图

NSArray* points;//zxing回调的时候通过twoDecoderResult传出的定位块坐标集合

换算公式:

    float rate = Max(image.height,image.width) / Max(subset.height, subset.width);//这就是原图坐标系与subset坐标系中的换算比率

    subsetPoint = points[0];

    imagePoint = Point( subsetPoint.x * rate, subsetPoint.y * rate);

 

经过随机切图测试,这个公式应该没什么问题,都能解出正确的坐标。

使用的是zxing2.2,不过自己已经改了不少东西。。

____________________

口1            口2


口0

——————————

返回的定位块坐标索引的序号与定位块的位置关系对应如上图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值