国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android Zxing 轉換豎屏掃描且提高識別率的方法

2019-12-12 00:54:12
字體:
來源:轉載
供稿:網友

最近的一個Android需要用到掃碼功能,用的是Zxing開源庫。Zxing的集成就不說了,但是Zxing默認的是橫屏掃碼,在實際生產中并不適用,需要改為豎屏掃描。

轉豎屏步驟:

1>. AndroidManifest.xml中把activity標簽CaptureActivity部分的screenOrientation改為portrait。

android:screenOrientation="portrait"

2>. CameraManager類中的getFramingRectInPreview()方法,將left, right, top, bottom改變。

//豎屏rect.left = rect.left * cameraResolution.y / screenResolution.x;rect.right = rect.right * cameraResolution.y / screenResolution.x;rect.top = rect.top * cameraResolution.x / screenResolution.y;rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;

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改為

double screenAspectRatio;if (screenResolution.x > screenResolution.y) {  screenAspectRatio = (double) screenResolution.x / (double) screenResolution.y;} else {  screenAspectRatio = (double) screenResolution.y / (double) screenResolution.x;}

2>. 至此,識別率已經很大程度上的提高了,若在要提高識別率,可通過修改CameraManager類中的MAX_FRAME_WIDTH和MAX_FRAME_HEIGHT來提高精度。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大埔区| 芜湖市| 成都市| 河源市| 福海县| 西充县| 张家川| 永城市| 永胜县| 马尔康县| 水城县| 巴东县| 汝州市| 和龙市| 定州市| 怀仁县| 丘北县| 弋阳县| 海兴县| 津市市| 阳信县| 寻甸| 巫溪县| 镇坪县| 蚌埠市| 甘洛县| 阿合奇县| 咸宁市| 沾益县| 青神县| 玉环县| 平泉县| 兴业县| 根河市| 涿鹿县| 明光市| 磐石市| 团风县| 深圳市| 泾源县| 综艺|