-
public class DecodeConfig解码配置:主要用于在扫码识别时,提供一些配置,便于扩展。通过配置可决定内置分析器的能力,从而间接的控制并简化扫码识别的流程
设置解码 setHints内置的一些解码可参见如下:
DEFAULT_HINTSALL_HINTSCODE_128_HINTSQR_CODE_HINTSONE_DIMENSIONAL_HINTSTWO_DIMENSIONAL_HINTSDEFAULT_HINTS
如果不满足您也可以通过createDecodeHints自己配置支持的格式
识别区域可设置的方式有如下几种: setFullAreaScan 设置是否支持全区域扫码识别,优先级比识别区域高 setAnalyzeAreaRect 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效 setAreaRectRatio 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低
以上几种识别区域都是基于androidx.camera.core.ImageAnalysis 配置的分析目标分辨率作为参照的;请注意区分 androidx.camera.core.Preview 与 androidx.camera.core.ImageAnalysis配置的区别。
即判定区域分析的优先级顺序为:setFullAreaScan -> setAnalyzeAreaRect -> setAreaRectRatio
-
-
Field Summary
Fields Modifier and Type Field Description private Map<DecodeHintType, Object>hintspublic final static floatDEFAULT_AREA_RECT_RATIOprivate booleanisMultiDecodeprivate booleanisSupportLuminanceInvertprivate booleanisSupportLuminanceInvertMultiDecodeprivate booleanisSupportVerticalCodeprivate booleanisSupportVerticalCodeMultiDecodeprivate RectanalyzeAreaRectprivate booleanisFullAreaScanprivate floatareaRectRatioprivate intareaRectVerticalOffsetprivate intareaRectHorizontalOffset
-
Constructor Summary
Constructors Constructor Description DecodeConfig()
-
Method Summary
Modifier and Type Method Description Map<DecodeHintType, Object>getHints()获取配置的解码支持类型 DecodeHintType DecodeConfigsetHints(Map<DecodeHintType, Object> hints)设置解码 booleanisMultiDecode()是否支持使用多解码 booleanisSupportLuminanceInvert()是否支持识别反色码,黑白颜色反转 booleanisSupportLuminanceInvertMultiDecode()是否支持识别反色码(条码黑白颜色反转的码)使用多解码 booleanisSupportVerticalCode()是否支持扫垂直的条码 booleanisSupportVerticalCodeMultiDecode()是否支持垂直的条码,使用多解码 RectgetAnalyzeAreaRect()需要分析识别区域 DecodeConfigsetAnalyzeAreaRect(Rect analyzeAreaRect)设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效由于此方式设置的识别区域是绝对位置,存在很明显的局限性,请慎用;(此方式主要是预留给特殊需求用的) booleanisFullAreaScan()是否支持全区域扫码识别 floatgetAreaRectRatio()识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别 DecodeConfigsetAreaRectRatio(@FloatRange(from = 0.5, to = 1.0) float areaRectRatio)设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低设置setAreaRectRatio时, 可结合 setAreaRectHorizontalOffset 和 setAreaRectVerticalOffset 一起使用来控制识别区域的位置 intgetAreaRectVerticalOffset()识别区域垂直方向偏移量,支持负数,大于0时,居中心向下偏移,小于0时,居中心向上偏移 DecodeConfigsetAreaRectVerticalOffset(int areaRectVerticalOffset)设置识别区域垂直方向偏移量,支持负数,大于0时,居中心向下偏移,小于0时,居中心向上偏移 intgetAreaRectHorizontalOffset()识别区域水平方向偏移量,支持负数,大于0时,居中心向右偏移,小于0时,居中心向左偏移 DecodeConfigsetAreaRectHorizontalOffset(int areaRectHorizontalOffset)设置识别区域水平方向偏移量,支持负数,大于0时,居中心向右偏移,小于0时,居中心向左偏移 DecodeConfigsetSupportLuminanceInvert(boolean supportLuminanceInvert)设置是否支持识别反色码,黑白颜色反转 DecodeConfigsetSupportVerticalCode(boolean supportVerticalCode)设置是否支持扫垂直的条码 DecodeConfigsetMultiDecode(boolean multiDecode)是否支持使用多解码 DecodeConfigsetSupportLuminanceInvertMultiDecode(boolean supportLuminanceInvertMultiDecode)设置是否支持识别反色码(条码黑白颜色反转的码)使用多解码 DecodeConfigsetSupportVerticalCodeMultiDecode(boolean supportVerticalCodeMultiDecode)设置是否支持垂直的条码,使用多解码;解码时,对应的二值化的实现: HybridBinarizer , GlobalHistogramBinarizer DecodeConfigsetFullAreaScan(boolean fullAreaScan)设置是否支持全区域扫码识别,优先级比识别区域高 StringtoString()-
-
Method Detail
-
setHints
DecodeConfig setHints(Map<DecodeHintType, Object> hints)
设置解码
- Parameters:
hints- DecodeFormatManager
-
isMultiDecode
boolean isMultiDecode()
是否支持使用多解码
-
isSupportLuminanceInvert
boolean isSupportLuminanceInvert()
是否支持识别反色码,黑白颜色反转
-
isSupportLuminanceInvertMultiDecode
boolean isSupportLuminanceInvertMultiDecode()
是否支持识别反色码(条码黑白颜色反转的码)使用多解码
-
isSupportVerticalCode
boolean isSupportVerticalCode()
是否支持扫垂直的条码
-
isSupportVerticalCodeMultiDecode
boolean isSupportVerticalCodeMultiDecode()
是否支持垂直的条码,使用多解码
-
getAnalyzeAreaRect
Rect getAnalyzeAreaRect()
需要分析识别区域
-
setAnalyzeAreaRect
DecodeConfig setAnalyzeAreaRect(Rect analyzeAreaRect)
设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效由于此方式设置的识别区域是绝对位置,存在很明显的局限性,请慎用;(此方式主要是预留给特殊需求用的)
- Parameters:
analyzeAreaRect- 识别区域可设置的方式有如下几种:setFullAreaScan 设置是否支持全区域扫码识别,优先级比识别区域高setAnalyzeAreaRect 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效;setAreaRectRatio 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低以上几种识别区域都是基于androidx.camera.core.ImageAnalysis 配置的分析目标分辨率作为参照的;请注意区分 androidx.camera.core.Preview 与 androidx.camera.core.ImageAnalysis配置的区别。即判定区域分析的优先级顺序为:setFullAreaScan -> setAnalyzeAreaRect -> setAreaRectRatio
-
isFullAreaScan
boolean isFullAreaScan()
是否支持全区域扫码识别
-
getAreaRectRatio
float getAreaRectRatio()
识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别
-
setAreaRectRatio
DecodeConfig setAreaRectRatio(@FloatRange(from = 0.5, to = 1.0) float areaRectRatio)
设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低设置setAreaRectRatio时, 可结合 setAreaRectHorizontalOffset 和 setAreaRectVerticalOffset 一起使用来控制识别区域的位置
- Parameters:
areaRectRatio- 识别区域可设置的方式有如下几种:setFullAreaScan 设置是否支持全区域扫码识别,优先级比识别区域高setAnalyzeAreaRect 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效;setAreaRectRatio 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低以上几种识别区域都是基于androidx.camera.core.ImageAnalysis 配置的分析目标分辨率作为参照的;请注意区分 androidx.camera.core.Preview 与 androidx.camera.core.ImageAnalysis配置的区别。即判定区域分析的优先级顺序为:setFullAreaScan -> setAnalyzeAreaRect -> setAreaRectRatio
-
getAreaRectVerticalOffset
int getAreaRectVerticalOffset()
识别区域垂直方向偏移量,支持负数,大于0时,居中心向下偏移,小于0时,居中心向上偏移
-
setAreaRectVerticalOffset
DecodeConfig setAreaRectVerticalOffset(int areaRectVerticalOffset)
设置识别区域垂直方向偏移量,支持负数,大于0时,居中心向下偏移,小于0时,居中心向上偏移
- Parameters:
areaRectVerticalOffset- 识别区域垂直方向偏移量
-
getAreaRectHorizontalOffset
int getAreaRectHorizontalOffset()
识别区域水平方向偏移量,支持负数,大于0时,居中心向右偏移,小于0时,居中心向左偏移
-
setAreaRectHorizontalOffset
DecodeConfig setAreaRectHorizontalOffset(int areaRectHorizontalOffset)
设置识别区域水平方向偏移量,支持负数,大于0时,居中心向右偏移,小于0时,居中心向左偏移
- Parameters:
areaRectHorizontalOffset- 识别区域水平方向偏移量
-
setSupportLuminanceInvert
DecodeConfig setSupportLuminanceInvert(boolean supportLuminanceInvert)
设置是否支持识别反色码,黑白颜色反转
- Parameters:
supportLuminanceInvert- 默认为{@code false},想要增强支持扫码识别反色码时可使用,相应的也会增加性能消耗。
-
setSupportVerticalCode
DecodeConfig setSupportVerticalCode(boolean supportVerticalCode)
设置是否支持扫垂直的条码
- Parameters:
supportVerticalCode- 默认为{@code false},想要增强支持扫码识别垂直的条码时可使用,相应的也会增加性能消耗。
-
setMultiDecode
DecodeConfig setMultiDecode(boolean multiDecode)
是否支持使用多解码
- Parameters:
multiDecode- 默认为{@code true}
-
setSupportLuminanceInvertMultiDecode
DecodeConfig setSupportLuminanceInvertMultiDecode(boolean supportLuminanceInvertMultiDecode)
设置是否支持识别反色码(条码黑白颜色反转的码)使用多解码
- Parameters:
supportLuminanceInvertMultiDecode- 默认为{@code false},想要增强支持扫码识别反色码时可使用,相应的也会增加性能消耗。
-
setSupportVerticalCodeMultiDecode
DecodeConfig setSupportVerticalCodeMultiDecode(boolean supportVerticalCodeMultiDecode)
设置是否支持垂直的条码,使用多解码;解码时,对应的二值化的实现: HybridBinarizer , GlobalHistogramBinarizer
- Parameters:
supportVerticalCodeMultiDecode- 默认为{@code false},想要增强支持扫码识别垂直的条码时可使用,相应的也会增加性能消耗。
-
setFullAreaScan
DecodeConfig setFullAreaScan(boolean fullAreaScan)
设置是否支持全区域扫码识别,优先级比识别区域高
- Parameters:
fullAreaScan- 默认为{@code true}识别区域可设置的方式有如下几种:setFullAreaScan 设置是否支持全区域扫码识别,优先级比识别区域高setAnalyzeAreaRect 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效;setAreaRectRatio 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低以上几种识别区域都是基于androidx.camera.core.ImageAnalysis 配置的分析目标分辨率作为参照的;请注意区分 androidx.camera.core.Preview 与 androidx.camera.core.ImageAnalysis配置的区别。即判定区域分析的优先级顺序为:setFullAreaScan -> setAnalyzeAreaRect -> setAreaRectRatio
-
-
-
-