时间:2021-05-21
最近的一个Android需要用到扫码功能,用的是Zxing开源库。Zxing的集成就不说了,但是Zxing默认的是横屏扫码,在实际生产中并不适用,需要改为竖屏扫描。
转竖屏步骤:
1>. AndroidManifest.xml中把activity标签CaptureActivity部分的screenOrientation改为portrait。
android:screenOrientation="portrait"2>. CameraManager类中的getFramingRectInPreview()方法,将left, right, top, bottom改变。
3>. CameraConfigurationManager类中的setDesiredCameraParameters(OpenCamera camera, boolean safeMode)方法,在setParameters之前添加
theCamera.setDisplayOrientation(90);4>. DecodeHandler类中的decode(byte[] data, int width, int height)方法,在PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height)之前添加
byte[] rotatedData = new byte[data.length];for (int y = 0; y < height; y++) {for (int x = 0; x < width; x++) rotatedData[x * height + height - y - 1] = data[x + y * width];}int tmp = width; // Here we are swapping, that's the difference to #11width = height;height = tmp;data = rotatedData;此时,竖屏扫描已经可以实现了,但是扫描复杂的图码时,分辨率低的已经分不清纹理了,很难识别出来,所以需要优化识别率。
识别率优化:
1>. CameraConfigurationUtils类中的findBestPreviewSizeValue(Camera.Parameters parameters, Point screenResolution)方法,将double screenAspectRatio = screenResolution.x / (double) screenResolution.y改为
2>. 至此,识别率已经很大程度上的提高了,若在要提高识别率,可通过修改CameraManager类中的MAX_FRAME_WIDTH和MAX_FRAME_HEIGHT来提高精度。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
二维码扫描,AndroidZxing图片拉伸解决。Zxing是google提供的二维码扫描工程默认是横屏的转换成竖屏后图片出现拉伸这里提供解决办法:Zxing修
前言在JavaWeb开发中,一般使用Zxing来生成和识别二维码,但是,Zxing的识别有点差强人意,不少相对模糊的二维码识别率很低。不过就最新版本的测试来说,
Android屏幕实现上下翻转通常我们的应用只会设计成横屏或者竖屏,锁定横屏或竖屏的方法是在manifest.xml文件中设定属性android:screenO
我一直在寻找一款软件能把图片或扫描文件转Word上,可是找了不少想什么AquaDeskperience和miniocr要不就是识别率不高,要不就是时而好使,时而
MATLAB神经网络图像识别高识别率代码I0=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDa