Leaper Vision Toolkit
结构体 | 类型定义 | 枚举
LPVCoreLib 模块参考手册

LPV 基础模块,提供图像、检测区域、绘制等基础功能。 更多...

结构体

interface  ILAnnulusRegion
 该接口对应一个圆环区域对象。 更多...
 
interface  ILAnnulusSectorRegion
 该接口对应一个环状扇形区域对象。 更多...
 
interface  ILCircleRegion
 该接口对应一个圆形区域对象。 更多...
 
interface  ILCompoundRegion
 该接口对应一个复合区域对象。 更多...
 
interface  ILDrawable
 该接口类开放了可以改变一个可绘制对象的图形设置的接口。 更多...
 
interface  ILEllipseRegion
 该接口对应一个椭圆区域对象。 更多...
 
interface  ILImage
 该接口类提供了提供了用于访问、操作、绘制 LPV 图像对象的功能。 更多...
 
interface  ILImageList
 该接口类定义了一个图像队列。 更多...
 
interface  ILMaskRegion
 该接口对应一个蒙版区域对象。 更多...
 
interface  ILObject
 该接口类为可序列化 LPV 对象的基类。 更多...
 
interface  ILObjects
 该接口类为多目标集合类型的 LPV 对象的基类。 更多...
 
interface  ILPolyRegion
 该接口对应一个多边形区域对象。 更多...
 
interface  ILRectRegion
 该接口对应一个矩形区域对象。 更多...
 
interface  ILRegion
 该接口类提供了创建、修改、操作和绘制一个 LPV区域对象 (LRectRegion , LRotRectRegion , LCircleRegion , etc.). 更多...
 
interface  ILRotRectRegion
 该接口对应一个旋转矩形区域对象。 更多...
 
interface  ILSortable
 该接口类用于表示一个可排序对象。 更多...
 
interface  ILSortables
 该接口类用于对一个可排序对象集合进行排序或重整为给定的顺序。 更多...
 
interface  ILSystem
 该接口类提供了修改 LPV 系统全局参数的功能和一些杂项帮助函数。 更多...
 
class  LAnnulusRegion
 
class  LAnnulusSectorRegion
 
class  LCircleRegion
 
struct  LColor
 彩色值,以三通道数值表示,每个通道的数值在 0 ~ 255 范围内 更多...
 
class  LCompoundRegion
 
class  LEllipseRegion
 
class  LImage
 
class  LImageList
 
class  LMaskRegion
 
struct  LMatrix23
 \( 2 \times 3 \) 矩阵(2行,3列) 更多...
 
struct  LMatrix33
 \( 3 \times 3 \) 矩阵(3行,3列) 更多...
 
struct  LMatrix44
 \( 4 \times 4 \) 矩阵(4行,4列) 更多...
 
class  LPolyRegion
 
class  LRectRegion
 
class  LRotRectRegion
 
struct  LSize
 整数尺寸,指定其长宽 更多...
 
class  LSystem
 

类型定义

typedef struct LPVCoreLib::LColor LColor
 
typedef struct LPVCoreLib::LMatrix23 LMatrix23
 
typedef struct LPVCoreLib::LMatrix33 LMatrix33
 
typedef struct LPVCoreLib::LMatrix44 LMatrix44
 
typedef struct LPVCoreLib::LSize LSize
 

枚举

enum  LPVAggregation {
  LPVAggAvg = 0 , LPVAggDev = 1 , LPVAggVar = 2 , LPVAggMin = 3 ,
  LPVAggMax = 4 , LPVAggMajor = 5 , LPVAggSum = 6
}
 数值统计的方式 更多...
 
enum  LPVAxis { LPVAxisX = 0 , LPVAxisY = 1 , LPVAxisZ = 2 }
 该枚举定义笛卡尔坐标系下的三个坐标轴 更多...
 
enum  LPVChartDrawFlags {
  LPVChartDrawAsBar = 1 , LPVChartDrawAsLine = 2 , LPVChartDrawGrid = 4 , LPVChartDrawIndexLabel = 8 ,
  LPVChartDrawValueLabel = 16 , LPVChartDrawAsLineDefault = LPVChartDrawAsLine + LPVChartDrawIndexLabel + LPVChartDrawValueLabel , LPVChartDrawAsBarDefault = LPVChartDrawAsBar + LPVChartDrawIndexLabel + LPVChartDrawValueLabel , LPVChartDrawDefault = LPVChartDrawAsBarDefault ,
  LPVChartDrawAll = 0xff
}
 该枚举用于控制数据图表绘制的行为 更多...
 
enum  LPVColor {
  LPVWhite = 0xffffff , LPVBlack = 0x000000 , LPVRed = 0x0000ff , LPVDarkRed = 0x000080 ,
  LPVGreen = 0x00ff00 , LPVDarkGreen = 0x008000 , LPVBlue = 0xff0000 , LPVDarkBlue = 0x800000 ,
  LPVCyan = 0xffff00 , LPVDarkCyan = 0x808000 , LPVMagenta = 0xff00ff , LPVDarkMagenta = 0x800080 ,
  LPVYellow = 0x00ffff , LPVDarkYellow = 0x008080 , LPVGray = 0xa4a0a0 , LPVDarkGray = 0x808080 ,
  LPVLightGray = 0xc0c0c0 , LPVTransparent = -1
}
 该枚举表示一些常用的颜色 更多...
 
enum  LPVColorMap {
  LPVColorMapAutumn = 0 , LPVColorMapBone = 1 , LPVColorMapJet = 2 , LPVColorMapWinter = 3 ,
  LPVColorMapRainbow = 4 , LPVColorMapOcean = 5 , LPVColorMapSummer = 6 , LPVColorMapSpring = 7 ,
  LPVColorMapCool = 8 , LPVColorMapHSV = 9 , LPVColorMapPink = 10 , LPVColorMapHot = 11 ,
  LPVColorMapParula = 12 , LPVColorMapMagma = 13 , LPVColorMapInferno = 14 , LPVColorMapPlasma = 15 ,
  LPVColorMapViridis = 16 , LPVColorMapCividis = 17 , LPVColorMapTwilight = 18 , LPVColorMapTwilightShifted = 19 ,
  LPVColorMapTurbo = 20 , LPVColorMapDeepgreen = 21
}
 该枚举定义支持的颜色映射表,与 GNU Octave / MATLAB 相同 更多...
 
enum  LPVColorSpace {
  LPVColorSpaceBGR = 0 , LPVColorSpaceHSV = 1 , LPVColorSpaceHLS = 2 , LPVColorSpaceYCrCb = 3 ,
  LPVColorSpaceYUV = 4 , LPVColorSpaceXYZ = 5 , LPVColorSpaceLAB = 6 , LPVColorSpaceLUV = 7
}
 该枚举表示图像的颜色空间,同时指定分量通道顺序。所有通道均归一化到 0 ~ 255 范围。 更多...
 
enum  LPVDirection { LPVDirLeft = 0 , LPVDirRight = 1 , LPVDirUp = 2 , LPVDirDown = 3 }
 该枚举定义目标的方向或朝向 更多...
 
enum  LPVEdgeKernel { LPVSobel = 0 , LPVPrewitt = 1 , LPVScharr = 2 }
 描述边缘滤波工具中所使用的核的类型 更多...
 
enum  LPVErrorCode {
  LPVNoError = 0 , LPVNoResult = 1 , LPVErrUnknown = 0x81000000 , LPVErrEmptyImage = 0x81000001 ,
  LPVErrEmptyRegion = 0x81000002 , LPVErrSizeTooSmall = 0x81000003 , LPVErrSizeNotMatch = 0x81000004 , LPVErrTypeNotMatch = 0x81000005 ,
  LPVErrTypeNotInit = 0x81000006 , LPVErrTypeUnsupported = 0x81000007 , LPVErrTimeOut = 0x81000008 , LPVErrFileUnsupportFormat = 0x81000101 ,
  LPVErrFileEmpty = 0x81000102 , LPVErrFileFailEncode = 0x81000103 , LPVErrFileFailDecode = 0x81000104 , LPVErrFileFailOpen = 0x81000105 ,
  LPVErrFileUnexpect = 0x81000106 , LPVErrFileFailSave = 0x81000107 , LPVErrFileFailLoad = 0x81000108 , LPVErrFileFailRemove = 0x81000109 ,
  LPVErrCalibTooFewPoints = 0x81000201 , LPVErrCalibUnequalImageWorldPoints = 0x81000202 , LPVErrCalibFailDetectImagePoints = 0x81000203 , LPVErrCalibFailCalibration = 0x81000204 ,
  LPVErrCalibUnexpect = 0x81000205 , LPVErrCalibNotCalib = 0x81000206 , LPVErrCalibPointsCollinear = 0x81000207 , LPVErrWithoutImgSize = 0x81000208 ,
  LPVErrInvalidAxisDir = 0x81000209 , LPVErrFailMultiCameraCalibration = 0x8100020a , LPVErrFailDetectRefInstance = 0x8100020b , LPVErrFailUpdateRefInstance = 0x8100020c ,
  LPVErrFailVerifyRefInstance = 0x8100020d , LPVErrFailImageSizeNotMatch = 0x8100020e , LPVErrFailDistortionModelNotMatch = 0x8100020f , LPVErrCalibRotationFailed = 0x81000299 ,
  LPVErrPatFailTrain = 0x81000301 , LPVErrPatNotTrain = 0x81000302 , LPVErrSortArrayFailed = 0x81000401 , LPVErrMLSampleFailLoad = 0x81000501 ,
  LPVErrMLTooFewClass = 0x81000502 , LPVErrMLNoModel = 0x81000503 , LPVErrMLNoFeature = 0x81000504 , LPVErrMLDirtyModel = 0x81000505 ,
  LPVErrMLNotTrained = 0x81000506 , LPVErrMLTooFewSample = 0x81000507 , LPVErrMLBusy = 0x81000509 , LPVErrOCRNoFontDB = 0x81000601 ,
  LPVErrOCRNoCharDB = 0x81000602 , LPVErrOCRFailAddSampleToFontDB = 0x81000604 , LPVErrOCRFailRemoveFromFontDB = 0x81000605 , LPVErrOCRFailTrainFontDB = 0x81000606 ,
  LPVErrOCRFailTrainTooFewChar = 0x81000607 , LPVErrOCRFailTrainTooFewSample = 0x81000608 , LPVErrOCRFailTrainFailExtFeature = 0x81000609 , LPVErrOCRFailAddCharToFontDB = 0x8100060a
}
 LPV 算法或函数运行过程中遇到的错误。 更多...
 
enum  LPVExcludeBoundaryMode { LPVEBModeNone = 0 , LPVEBModeEntire = 1 , LPVEBModePartial = 2 }
 该枚举类型定义了处理处于图像、区域或蒙板内外的物体的方法 更多...
 
enum  LPVFindBy { LPVFindBest = 0 , LPVFindFirst = 1 , LPVFindLast = 2 , LPVFindCentral = 3 }
 该枚举类型表示从多个候选对象中选择一个的策略 更多...
 
enum  LPVFlipType { LPVFlipH = 0x01 , LPVFlipV = 0x02 , LPVFlipBoth = LPVFlipH + LPVFlipV }
 描述图像翻转的方式 更多...
 
enum  LPVImageFormat { LPVImageFormatGrayscale8 = 0 , LPVImageFormatColor24 = 1 , LPVImageFormatGrayscale16 = 2 }
 该枚举表示图像类型 更多...
 
enum  LPVInterpolationMethod { LPVInterNearest = 0 , LPVInterLinear = 1 , LPVInterCubic = 2 , LPVInterArea = 3 }
 该枚举表示插值方法,用于图像缩放、旋转等算法 更多...
 
enum  LPVMorphShape { LPVMorphRect = 0 , LPVMorphCross = 1 , LPVMorphEllipse = 2 }
 描述形态学工具中所使用的核的形状 更多...
 
enum  LPVPenStyle {
  LPVPenSolid = 0 , LPVPenDash = 1 , LPVPenDot = 2 , LPVPenDashDot = 3 ,
  LPVPenDashDotDot = 4
}
 该枚举类型表示绘制路径用的描边风格 更多...
 
enum  LPVPointShape {
  LPVPointShapeCross = 0 , LPVPointShapeTiltedCross = 1 , LPVPointShapeStar = 2 , LPVPointShapeDiamond = 3 ,
  LPVPointShapeSquare = 4 , LPVPointShapeTriangle = 5 , LPVPointShapeTriangleInv = 6
}
 该枚举类型表示绘制点时使用的形状 更多...
 
enum  LPVPolarity {
  LPVBlack2White = 0 , LPVWhite2Black = 1 , LPVPolarityEitherEdge = 2 , LPVBlackOnWhite = 3 ,
  LPVWhiteOnBlack = 4 , LPVPolarityEitherObject = 5 , LPVPolarityEither = 6
}
 该枚举类型表示要定位的物体或边缘的极性 更多...
 
enum  LPVPositionMode {
  LPVPosModeCenter = 0 , LPVPosModeTopLeft = 1 , LPVPosModeTopRight = 2 , LPVPosModeBottomLeft = 3 ,
  LPVPosModeBottomRight = 4
}
 该枚举类型表示使用哪个坐标作为对象的位置,在排序中使用。 更多...
 
enum  LPVRoiHandle {
  LPVRoiHandleUnknown = -1 , LPVRoiHandleNone = 0 , LPVRoiHandleInside = 16 , LPVRoiHandleTop = 1 ,
  LPVRoiHandleBottom = 2 , LPVRoiHandleLeft = 4 , LPVRoiHandleRight = 8 , LPVRoiHandleTopLeft = LPVRoiHandleTop | LPVRoiHandleLeft ,
  LPVRoiHandleBottomLeft = LPVRoiHandleBottom | LPVRoiHandleLeft , LPVRoiHandleTopRight = LPVRoiHandleTop | LPVRoiHandleRight , LPVRoiHandleBottomRight = LPVRoiHandleBottom | LPVRoiHandleRight , LPVRoiHandleRotation = 32 ,
  LPVRoiHandleMoveVertex = 64 , LPVRoiHandleAddVertex = 128 , LPVRoiHandleRemoveVertex = 256 , LPVRoiHandleAnchor = 512
}
 区域对象的可拖拽句柄类型 更多...
 
enum  LPVSortBy {
  LPVSortByReserved = 0 , LPVSortByX = 1 , LPVSortByY = 2 , LPVSortByScore = 3 ,
  LPVSortByColumn = 4 , LPVSortByRow = 5
}
 该枚举类型表示排序的类型 更多...
 
enum  LPVSortOrder {
  LPVSortOrderRandom = 1 , LPVSortOrderAscending = 2 , LPVSortOrderDescending = 3 , LPVSortOrderAscendingZigZag = 4 ,
  LPVSortOrderDescendingZigZag = 5
}
 该枚举类型表示排序的顺序 更多...
 
enum  LPVThresholdType { LPVThresholdCustom = 0 , LPVThresholdAdaptGlobal = 1 , LPVThresholdAdaptLocal = 2 }
 该枚举表示阈值方法 更多...
 
enum  LPVTransformType { LPVTransformRigid = 0 , LPVTransformSimilar = 1 , LPVTransformAffine = 2 , LPVTransformHomography = 3 }
 变换矩阵的类型 更多...
 

详细描述

LPV 基础模块,提供图像、检测区域、绘制等基础功能。

所有其他 LPV 模块均依赖该基础模块。使用该模块中的类和算法,需按照以下方式引用该模块:

示例代码

枚举类型说明

◆ LPVAggregation

数值统计的方式

枚举值
LPVAggAvg 

均值

LPVAggDev 

标准差

LPVAggVar 

方差

LPVAggMin 

最小值

LPVAggMax 

最大值

LPVAggMajor 

主成分均值

LPVAggSum 

所有值的和

◆ LPVAxis

enum LPVAxis

该枚举定义笛卡尔坐标系下的三个坐标轴

枚举值
LPVAxisX 

X 轴,通常指图像的横向坐标轴,从左到右。

LPVAxisY 

Y 轴,通常指图像的纵向坐标轴,从上到下。

LPVAxisZ 

Z 轴,通常指垂直于图像的坐标轴。

◆ LPVChartDrawFlags

该枚举用于控制数据图表绘制的行为

枚举值
LPVChartDrawAsBar 

绘制成柱状图

LPVChartDrawAsLine 

绘制成折线图

LPVChartDrawGrid 

绘制网格

LPVChartDrawIndexLabel 

绘制 x 轴的索引标签

LPVChartDrawValueLabel 

绘制 y 轴的数值标签

LPVChartDrawAsLineDefault 

默认折线图,绘制一个折线图,带有坐标系标签,无网格

LPVChartDrawAsBarDefault 

默认柱状图,绘制一个柱状图,带有坐标系标签,无网格

LPVChartDrawDefault 

默认值,与 LPVChartDrawAsBarDefault 相同

LPVChartDrawAll 

绘制完整柱状图

◆ LPVColor

enum LPVColor

该枚举表示一些常用的颜色

枚举值
LPVWhite 

白色

LPVBlack 

黑色

LPVRed 

红色

LPVDarkRed 

深红色

LPVGreen 

绿色

LPVDarkGreen 

深绿色

LPVBlue 

蓝色

LPVDarkBlue 

深蓝色

LPVCyan 

青色

LPVDarkCyan 

深青色

LPVMagenta 

洋红色

LPVDarkMagenta 

深洋红色

LPVYellow 

黄色

LPVDarkYellow 

深黄色

LPVGray 

灰色

LPVDarkGray 

深灰色

LPVLightGray 

浅灰色

LPVTransparent 

透明

◆ LPVColorMap

该枚举定义支持的颜色映射表,与 GNU Octave / MATLAB 相同

枚举值
LPVColorMapAutumn 

autumn

LPVColorMapBone 

bone

LPVColorMapJet 

jet

LPVColorMapWinter 

winter

LPVColorMapRainbow 

rainbow

LPVColorMapOcean 

ocean

LPVColorMapSummer 

summer

LPVColorMapSpring 

spring

LPVColorMapCool 

cool

LPVColorMapHSV 

HSV

LPVColorMapPink 

pink

LPVColorMapHot 

hot

LPVColorMapParula 

parula

LPVColorMapMagma 

magma

LPVColorMapInferno 

inferno

LPVColorMapPlasma 

plasma

LPVColorMapViridis 

viridis

LPVColorMapCividis 

cividis

LPVColorMapTwilight 

twilight

LPVColorMapTwilightShifted 

twilight shifted

LPVColorMapTurbo 

turbo

LPVColorMapDeepgreen 

deepgreen

◆ LPVColorSpace

该枚举表示图像的颜色空间,同时指定分量通道顺序。所有通道均归一化到 0 ~ 255 范围。

枚举值
LPVColorSpaceBGR 

BGR 颜色空间。通道顺序为:B(蓝)、G(绿)、R(红)

LPVColorSpaceHSV 

HSV 颜色空间。通道顺序为:H(色度)、S(饱和度、V(亮度)

\[ V_{max} = max(R,G,B), V_{min} = min(R,G,B) \\ V = V_{max} \\ S = \left\{ \begin{array}{ll} \frac{V - V_{min}}{V} \cdot 255 & V \neq 0 \\ 0 & otherwise \\ \end{array} \right. \\ h = \left\{ \begin{array}{ll} \frac{G - B}{V - V_{min}} \cdot 60 & V = R \\ \frac{B - R}{V - V_{min}} \cdot 60 + 120 & V = R \\ \frac{R - G}{V - V_{min}} \cdot 60 + 240 & V = B \\ \end{array} \right. , H = \left\{ \begin{array}{ll} \frac{h + 360}{2} & h < 0\ \\ \frac{h}{2} & otherwise \\ \end{array} \right. \]

LPVColorSpaceHLS 

HLS 颜色空间。通道顺序为:H(色度)、L(亮度)、S(饱和度)

\[ V_{max} = max(R,G,B), V_{min} = min(R,G,B) \\ L = \frac{V_{min} + V_{max}}{2} \\ S = \left\{ \begin{array}{ll} \frac{V_{max} - V_{min}}{V_{max} + V_{min}} \cdot 255 & L < 128 \\ \frac{V_{max} - V_{min}}{255 \cdot 2 - (V_{max} + V_{min})} \cdot 255 & otherwise \\ \end{array} \right. \\ h = \left\{ \begin{array}{ll} \frac{G - B}{V_{max} - V_{min}} \cdot 60 & V_{max} = R \\ \frac{B - R}{V_{max} - V_{min}} \cdot 60 + 120 & V_{max} = R \\ \frac{R - G}{V_{max} - V_{min}} \cdot 60 + 240 & V_{max} = B \\ \end{array} \right. , H = \left\{ \begin{array}{ll} \frac{h + 360}{2} & h < 0\ \\ \frac{h}{2} & otherwise \\ \end{array} \right. \]

LPVColorSpaceYCrCb 

YCrCb 颜色空间。通道顺序为:Y(亮度),Cr(红色色度),Cb(蓝色色度)

\[ Y = 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B \\ Cr = 0.713 \cdot (R-Y) + 128 \\ Cb = 0.564 \cdot (B-Y) + 128 \\ \]

LPVColorSpaceYUV 

YUV 颜色空间。通道顺序为:Y(亮度)、U(蓝色亮度)、V(红色亮度)

\[ Y = 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B \\ U = 0.492 \cdot (R-Y) + 128 \\ V = 0.877 \cdot (B-Y) + 128 \\ \]

LPVColorSpaceXYZ 

CIE 1931 XYZ 颜色空间。通道顺序为:X(红色刺激值),Y(绿色刺激值),Z(蓝色刺激值)

\[ X = 0.412453 \cdot R + 0.357580 \cdot G + 0.180423 \cdot B \\ Y = 0.212671 \cdot R + 0.715160 \cdot G + 0.072169 \cdot B \\ Z = 0.019334 \cdot R + 0.119193 \cdot G + 0.950227 \cdot B \\ \]

LPVColorSpaceLAB 

CIE 1976 L*a*b* 颜色空间。通道顺序为:L(亮度)、a*(红绿色度)、b*(蓝黄色度)。
其与 BGR 颜色空间的转换基于 XYZ 颜色空间的转换结果,该转换结果使用归一化到 0 ~ 1 的 BGR 值。

\[ l = \left\{ \begin{array}{ll} (116 \cdot Y^{\frac{1}{3}} - 16) & Y > 0.008856 \\ 903.3 \cdot Y & otherwise \\ \end{array} \right. \\ L = l \cdot \frac{255}{100} \\ f(t) = \left\{ \begin{array}{ll} t^{\frac{1}{3}} & t > 0.008856 \\ 7.787 \cdot t + \frac{16}{116} & otherwise \\ \end{array} \right. \\ a = (f(\frac{X}{0.950456}) - f(Y)) \cdot 500 + 255 \\ b = (f(Y) - f(\frac{X}{1.088754})) \cdot 200 + 255 \\ \]

LPVColorSpaceLUV 

CIE 1976 L*u*v* 颜色空间。通道顺序为:L*(亮度)、u*(u色度)、v*(v色度).
其与 BGR 颜色空间的转换基于 XYZ 颜色空间的转换结果,该转换结果使用归一化到 0 ~ 1 的 BGR 值。

\[ l = \left\{ \begin{array}{ll} (116 \cdot Y^{\frac{1}{3}} - 16) & Y > 0.008856 \\ 903.3 \cdot Y & otherwise \\ \end{array} \right. \\ L = l \cdot \frac{255}{100} \\ u' = \frac{4 \cdot X}{X + 15 \cdot Y + 3 \cdot Z} \\ v' = \frac{9 \cdot Y}{X + 15 \cdot Y + 3 \cdot Z} \\ u = (13 \cdot l \cdot (u' - 0.19793943) + 134) \cdot \frac{255}{354} \\ v = (13 \cdot l \cdot (v' - 0.46831096) + 140) \cdot \frac{255}{262} \\ \]

◆ LPVDirection

该枚举定义目标的方向或朝向

枚举值
LPVDirLeft 

目标向左

LPVDirRight 

目标向右

LPVDirUp 

目标向上

LPVDirDown 

目标向下

◆ LPVEdgeKernel

描述边缘滤波工具中所使用的核的类型

枚举值
LPVSobel 

Sobel 核,该核结合了高斯模糊和差分的效果,因此对噪声的抗干扰性较强。一个典型 \( 3 \times 3 \) 的 x 和 y 方向的核分别如下所示:
\( \begin{bmatrix}-1 & 0 & 1\\-2 & 0 & 2\\-1 & 0 & 1\end{bmatrix} \) \( \begin{bmatrix}-1 & -2 & -1\\0 & 0 & 0\\1 & 2 & 1\end{bmatrix} \)

LPVPrewitt 

Prewitt 核,仅支持 \( 3 \times 3 \) ,其 x 和 y 方向的核分别如下所示:
\( \begin{bmatrix}-1 & 0 & 1\\-1 & 0 & 1\\-1 & 0 & 1\end{bmatrix} \) \( \begin{bmatrix}-1 & -1 & -1\\0 & 0 & 0\\1 & 1 & 1\end{bmatrix} \)

LPVScharr 

Scharr 核,其精度略差于 Sobel 核但更平滑。仅支持 \( 3 \times 3 \) ,其 x 和 y 方向的核分别如下所示:

\( \begin{bmatrix}-3 & 0 & 3\\-10 & 0 & 10\\-3 & 0 & 3\end{bmatrix} \) \( \begin{bmatrix}-3 & -10 & -3\\0 & 0 & 0\\3 & 10 & 3\end{bmatrix} \)

◆ LPVErrorCode

LPV 算法或函数运行过程中遇到的错误。

枚举值
LPVNoError 

无错误

LPVNoResult 

执行结果为空(无错误),例如,找不到目标

LPVErrUnknown 

未知错误

LPVErrEmptyImage 

输入图像为空

LPVErrEmptyRegion 

输入区域为空

LPVErrSizeTooSmall 

尺寸过小

LPVErrSizeNotMatch 

尺寸不适配

LPVErrTypeNotMatch 

类型不适配

LPVErrTypeNotInit 

对象未正确初始化

LPVErrTypeUnsupported 

未支持的行为

LPVErrTimeOut 

超时

LPVErrFileUnsupportFormat 

输入为未支持的文件格式,无法解析文件内容

LPVErrFileEmpty 

输入文件为空

LPVErrFileFailEncode 

无法将该类编码到文件

LPVErrFileFailDecode 

无法从文件解析该类

LPVErrFileFailOpen 

无法打开输入文件

LPVErrFileUnexpect 

文件处理过程中遇到未知错误

LPVErrFileFailSave 

无法保存文件到指定位置

LPVErrFileFailLoad 

无法从指定位置读取所需文件

LPVErrFileFailRemove 

无法删除指定位置的文件

LPVErrCalibTooFewPoints 

标定失败,提供的坐标点对数量过少

LPVErrCalibUnequalImageWorldPoints 

标定失败,提供的场景和图像坐标点的数量不匹配

LPVErrCalibFailDetectImagePoints 

标定失败,在输入图像上未检测到标定图案

LPVErrCalibFailCalibration 

标定失败,优化相机参数(矩阵)失败

LPVErrCalibUnexpect 

标定失败,遇到未知错误

LPVErrCalibNotCalib 

无法进行该操作,相机未标定

LPVErrCalibPointsCollinear 

标定失败,输入点对中的大多数图像点共线,无法用于正确估计相机姿态

LPVErrWithoutImgSize 

标定失败,图像尺寸未提供

LPVErrInvalidAxisDir 

标定失败,设置的坐标轴方向非法

LPVErrFailMultiCameraCalibration 

多相机系统标定失败

LPVErrFailDetectRefInstance 

无法找到合适的相机标定模型

LPVErrFailUpdateRefInstance 

无法更新多相机系统中的某个相机标定

LPVErrFailVerifyRefInstance 

多相机系统检验失败

LPVErrFailImageSizeNotMatch 

多相机系统中各相机的图像尺寸不匹配

LPVErrFailDistortionModelNotMatch 

多相机系统中各相机的畸变矫正模型不匹配

LPVErrCalibRotationFailed 

旋转标定失败,无法基于输入数据计算合适的旋转中心

LPVErrPatFailTrain 

训练模板失败,在输入图像上未检测到合适的匹配特征

LPVErrPatNotTrain 

无法进行该操作,未训练模板

LPVErrSortArrayFailed 

阵列排序失败,无法基于输入数据找到合适的阵列网格

LPVErrMLSampleFailLoad 

读取样本文件失败

LPVErrMLTooFewClass 

训练分类器失败,只存在一个或没有分类标签,需至少添加两类

LPVErrMLNoModel 

分类器的模型集为空,需至少添加一个分类模型

LPVErrMLNoFeature 

分类器的特征集为空,需至少添加一个特征

LPVErrMLDirtyModel 

分类器需要重新训练,模型的一个或多个参数被修改,导致之前的训练结果失效

LPVErrMLNotTrained 

分类器未训练

LPVErrMLTooFewSample 

分类器训练失败,单个类别收集的样本数量不足

LPVErrMLBusy 

分类器正在进行训练、自动调参、测试或其他任务,请稍后再试

LPVErrOCRNoFontDB 

字库缺失或未训练

LPVErrOCRNoCharDB 

字符样本库缺失

LPVErrOCRFailAddSampleToFontDB 

添加字符样本失败

LPVErrOCRFailRemoveFromFontDB 

移除字符样本失败

LPVErrOCRFailTrainFontDB 

训练字符分类器失败

LPVErrOCRFailTrainTooFewChar 

训练分类器失败,需至少添加2个或以上字符

LPVErrOCRFailTrainTooFewSample 

训练分类器失败,字库为空或单字符包含的样本量过少

LPVErrOCRFailTrainFailExtFeature 

训练分类器失败,特征配置非法,请检查配置

LPVErrOCRFailAddCharToFontDB 

添加新字符失败,无法接受空格或无法打印的字符

◆ LPVExcludeBoundaryMode

该枚举类型定义了处理处于图像、区域或蒙板内外的物体的方法

枚举值
LPVEBModeNone 

什么也不做

LPVEBModeEntire 

处理整个物体

LPVEBModePartial 

部分处理(像素级)

◆ LPVFindBy

enum LPVFindBy

该枚举类型表示从多个候选对象中选择一个的策略

枚举值
LPVFindBest 

选择一个或多个最高分

LPVFindFirst 

沿着区域的扫描方向,选择第一个或前几个

LPVFindLast 

沿着区域的扫描方向,选择最后一个或后几个

LPVFindCentral 

基于结果距离区域中心的距离,选择最靠近中心的一个或多个。当前仅用于卡尺工具。

◆ LPVFlipType

描述图像翻转的方式

枚举值
LPVFlipH 

水平翻转

LPVFlipV 

垂直翻转

LPVFlipBoth 

水平和垂直翻转

◆ LPVImageFormat

该枚举表示图像类型

枚举值
LPVImageFormatGrayscale8 

该图像为 8 位灰度图

LPVImageFormatColor24 

该图像为 24 位 BGR 彩色图,每个通道 8 位。

LPVImageFormatGrayscale16 

该图像为 16 位灰度图
自从 2.4.0

◆ LPVInterpolationMethod

该枚举表示插值方法,用于图像缩放、旋转等算法

枚举值
LPVInterNearest 

最近邻插值。速度较快,插值后的图像质量较差

LPVInterLinear 

双线性插值

LPVInterCubic 

三次曲线插值。当放大图像时,推荐使用该插值方法以获得较好图像质量。

LPVInterArea 

区域插值。当缩小图像时,推荐使用该插值方法以获得较好图像质量。

◆ LPVMorphShape

描述形态学工具中所使用的核的形状

枚举值
LPVMorphRect 

矩形核,例如 \( 5 \times 5 \) 如下所示:
\( \begin{bmatrix}1 & 1 & 1 & 1 & 1\\1 & 1 & 1 & 1 & 1\\1 & 1 & 1 & 1 & 1\\1 & 1 & 1 & 1 & 1\\1 & 1 & 1 & 1 & 1\end{bmatrix} \)

LPVMorphCross 

十字形核,例如 \( 5 \times 5 \) 如下所示:
\( \begin{bmatrix}0 & 0 & 1 & 0 & 0\\0 & 0 & 1 & 0 & 0\\1 & 1 & 1 & 1 & 1\\0 & 0 & 1 & 0 & 0\\0 & 0 & 1 & 0 & 0\end{bmatrix} \)

LPVMorphEllipse 

椭圆形核,例如 \( 5 \times 5 \) 如下所示:
\( \begin{bmatrix}0 & 0 & 1 & 0 & 0\\1 & 1 & 1 & 1 & 1\\1 & 1 & 1 & 1 & 1\\1 & 1 & 1 & 1 & 1\\0 & 0 & 1 & 0 & 0\end{bmatrix} \)

◆ LPVPenStyle

该枚举类型表示绘制路径用的描边风格

枚举值
LPVPenSolid 

普通实线

LPVPenDash 

虚线

LPVPenDot 

点虚线

LPVPenDashDot 

点画线

LPVPenDashDotDot 

双点画线

◆ LPVPointShape

该枚举类型表示绘制点时使用的形状

枚举值
LPVPointShapeCross 

十字

LPVPointShapeTiltedCross 

交叉

LPVPointShapeStar 

米字

LPVPointShapeDiamond 

菱形

LPVPointShapeSquare 

正方形

LPVPointShapeTriangle 

三角形

LPVPointShapeTriangleInv 

倒三角形

◆ LPVPolarity

该枚举类型表示要定位的物体或边缘的极性

枚举值
LPVBlack2White 

沿着区域的扫描方向看,边处于从黑(暗)到白(亮)的边缘

LPVWhite2Black 

沿着区域的扫描方向看,边处于从白(亮)到黑(暗)的边缘

LPVPolarityEitherEdge 

接受任意一种边缘极性,白到黑,或者黑到白

LPVBlackOnWhite 

黑色(暗)目标在白色(亮)背景上

LPVWhiteOnBlack 

白色(亮)目标在黑色(暗)背景上

LPVPolarityEitherObject 

接受任意一种目标极性,白物体黑背景,或者黑物体白背景

LPVPolarityEither 

接受任意一种极性

◆ LPVPositionMode

该枚举类型表示使用哪个坐标作为对象的位置,在排序中使用。

枚举值
LPVPosModeCenter 

使用中心点作为位置

LPVPosModeTopLeft 

使用对象的包围矩形的左上角作为位置

LPVPosModeTopRight 

使用对象的包围矩形的右上角作为位置

LPVPosModeBottomLeft 

使用对象的包围矩形的左下角作为位置

LPVPosModeBottomRight 

使用对象的包围矩形的右下角作为位置

◆ LPVRoiHandle

区域对象的可拖拽句柄类型

枚举值
LPVRoiHandleUnknown 

未知句柄,通常用于作为初始值

LPVRoiHandleNone 

空句柄,无法用于拖拽该区域

LPVRoiHandleInside 

内部句柄,位置落在区域内部,可用于整体移动该区域

LPVRoiHandleTop 

上句柄,用于拖拽区域的上边界,可缩放整个区域

LPVRoiHandleBottom 

下句柄,用于拖拽区域的下边界,可缩放整个区域

LPVRoiHandleLeft 

左句柄,用于拖拽区域的左边界,可缩放整个区域

LPVRoiHandleRight 

右句柄,用于拖拽区域的右边界,可缩放整个区域

LPVRoiHandleTopLeft 

左上句柄,用于拖拽区域的左上角,可缩放整个区域

LPVRoiHandleBottomLeft 

左下句柄,用于拖拽区域的左下角,可缩放整个区域

LPVRoiHandleTopRight 

右上句柄,用于拖拽区域的右上角,可缩放整个区域

LPVRoiHandleBottomRight 

右下句柄,用于拖拽区域的右下角,可缩放整个区域

LPVRoiHandleRotation 

旋转句柄,用于围绕区域中心点旋转整个区域

LPVRoiHandleMoveVertex 

顶点移动句柄,用于拖拽距离鼠标位置最近的区域顶点,只用于 LPolyRegion.

LPVRoiHandleAddVertex 

顶点新增句柄,用于基于鼠标位置添加新的区域顶点,只用于 LPolyRegion.

LPVRoiHandleRemoveVertex 

顶点删除句柄,用于基于鼠标位置删除区域顶点,只用于 LPolyRegion.

LPVRoiHandleAnchor 

锚点句柄,用于拖拽区域的锚点位置。对于 LAnnulusSectorRegion,用于控制这个区域的弯曲程度。

◆ LPVSortBy

enum LPVSortBy

该枚举类型表示排序的类型

枚举值
LPVSortByReserved 

无指定排序类型,通常用于随机排序

LPVSortByX 

按 x 坐标排序,忽略 y 坐标

LPVSortByY 

按 y 坐标排序,忽略 x 坐标

LPVSortByScore 

按分数排序

LPVSortByColumn 

按列排序,同列按行排序

LPVSortByRow 

按行排序,同行按列排序

◆ LPVSortOrder

该枚举类型表示排序的顺序

枚举值
LPVSortOrderRandom 

随机排序

LPVSortOrderAscending 

升序排列,从小到大,如:

LPVSortByRow, LPVSortOrderAscending:
\( \begin{matrix}0 & \rightarrow & 1 & \rightarrow & 2\\3 & \rightarrow & 4 & \rightarrow & 5\\6 & \rightarrow & 7 & \rightarrow & 8\end{matrix} \)

LPVSortByColumn, LPVSortOrderAscending:
\( \begin{matrix}0 & 3 & 6\\ \downarrow & \downarrow & \downarrow\\1 & 4 & 7\\ \downarrow & \downarrow & \downarrow\\2 & 5 & 8\end{matrix} \)

LPVSortOrderDescending 

降序排列,从大到小,如:

LPVSortByRow, LPVSortOrderDescending:
\( \begin{matrix}8 & \leftarrow & 7 & \leftarrow & 6\\5 & \leftarrow & 4 & \leftarrow & 3\\2 & \leftarrow & 1 & \leftarrow & 0\end{matrix} \)

LPVSortByColumn, LPVSortOrderDescending:
\( \begin{matrix}8 & 5 & 2\\ \uparrow & \uparrow & \uparrow\\7 & 4 & 1\\ \uparrow & \uparrow & \uparrow\\6 & 3 & 0\end{matrix} \)

LPVSortOrderAscendingZigZag 

交替升序再降序,从升序开始,如:

LPVSortByRow, LPVSortOrderAscendingZigZag:
\( \begin{matrix}0 & \rightarrow & 1 & \rightarrow & 2\\5 & \leftarrow & 4 & \leftarrow & 3\\6 & \rightarrow & 7 & \rightarrow & 8\end{matrix} \)

LPVSortOrderDescendingZigZag 

交替升序再降序,从降序开始,如:

LPVSortByRow, LPVSortOrderDescendingZigZag:
\( \begin{matrix}2 & \leftarrow & 1 & \leftarrow & 0\\3 & \rightarrow & 4 & \rightarrow & 5\\8 & \leftarrow & 7 & \leftarrow & 6\end{matrix} \)

◆ LPVThresholdType

该枚举表示阈值方法

枚举值
LPVThresholdCustom 

使用用户自定义的固定阈值数值或范围

LPVThresholdAdaptGlobal 

使用全局自适应阈值,该数值或范围基于整幅图像上的像素灰度值分布获得

LPVThresholdAdaptLocal 

使用局部自适应阈值,该数值或范围基于每个位置邻域的像素灰度值分布获得

◆ LPVTransformType

变换矩阵的类型

枚举值
LPVTransformRigid 

刚性变换,支持平移和旋转

LPVTransformSimilar 

相似变换,支持平移、旋转和缩放

LPVTransformAffine 

仿射变换,支持平移、旋转、缩放和斜切

LPVTransformHomography 

单应变换,支持平移、旋转、缩放和透视投影