< Back
Inverted DPM Codes

Decode Unreadable Barcodes with Dynamsoft Barcode Reader's Custom Scan Parameters

Loading image...

Binarized image produced by Dynamsoft Barcode Reader:

JSON Template (help):

{
BarcodeReaderTaskSettingOptions
:
[
1 item  
0
:
{
BarcodeColourModes
:
null
BarcodeComplementModes
:
[
1 item  
0
:
{
Mode
:
BCM_SKIP
BarcodeFormatIds
:
[
1 item  
0
:
BF_DEFAULT
BaseBarcodeReaderTaskSettingName
:
DPMCodeReadingModes
:
[
1 item  
0
:
{
BarcodeFormat
:
BF_DATAMATRIX
Mode
:
DPMCRM_GENERAL
DeblurModes
:
null
DeformationResistingModes
:
[
1 item  
0
:
{
BinarizationMode
:
{
BinarizationThreshold
:
-1
BlockSizeX
:
0
BlockSizeY
:
0
EnableFillBinaryVacancy
:
1
GrayscaleEnhancementModesIndex
:
-1
Mode
:
BM_LOCAL_BLOCK
MorphOperation
:
Close
MorphOperationKernelSizeX
:
-1
MorphOperationKernelSizeY
:
-1
MorphShape
:
Rectangle
ThresholdCompensation
:
10
GrayscaleEnhancementMode
:
{
Mode
:
GEM_AUTO
Sensitivity
:
-1
SharpenBlockSizeX
:
-1
SharpenBlockSizeY
:
-1
SmoothBlockSizeX
:
-1
SmoothBlockSizeY
:
-1
Level
:
5
Mode
:
DRM_SKIP
ExpectedBarcodesCount
:
0
LocalizationModes
:
[
4 items  
0
:
{
ConfidenceThreshold
:
60
IsOneDStacked
:
0
Mode
:
LM_CONNECTED_BLOCKS
ModuleSize
:
0
ScanDirection
:
0
ScanStride
:
0
1
:
{
ConfidenceThreshold
:
60
IsOneDStacked
:
0
Mode
:
LM_SCAN_DIRECTLY
ModuleSize
:
0
ScanDirection
:
0
ScanStride
:
0
2
:
{
ConfidenceThreshold
:
60
IsOneDStacked
:
0
Mode
:
LM_STATISTICS
ModuleSize
:
0
ScanDirection
:
0
ScanStride
:
0
3
:
{
ConfidenceThreshold
:
60
IsOneDStacked
:
0
Mode
:
LM_LINES
ModuleSize
:
0
ScanDirection
:
0
ScanStride
:
0
MaxThreadsInOneTask
:
4
Name
:
BR_1
ReturnBarcodeZoneClarity
:
0
SectionImageParameterArray
:
[
3 items  
0
:
{
ContinueWhenPartialResultsGenerated
:
1
ImageParameterName
:
IP_1
Section
:
ST_REGION_PREDETECTION
1
:
{
ContinueWhenPartialResultsGenerated
:
1
ImageParameterName
:
IP_1
Section
:
ST_BARCODE_LOCALIZATION
2
:
{
ContinueWhenPartialResultsGenerated
:
1
ImageParameterName
:
IP_Decode
Section
:
ST_BARCODE_DECODING
StartSection
:
ST_REGION_PREDETECTION
TerminateSetting
:
{
Section
:
ST_NULL
Stage
:
IRUT_NULL
TextResultOrderModes
:
[
3 items  
0
:
{
Mode
:
TROM_CONFIDENCE
1
:
{
Mode
:
TROM_POSITION
2
:
{
Mode
:
TROM_FORMAT
CaptureVisionTemplates
:
[
1 item  
0
:
{
ImageROIProcessingNameArray
:
[
1 item  
0
:
roi_default
ImageSource
:
MaxParallelTasks
:
4
MinImageCaptureInterval
:
0
Name
:
Default_1
OutputOriginalImage
:
0
SemanticProcessingNameArray
:
null
Timeout
:
99999
GlobalParameter
:
{
MaxTotalImageDimension
:
0
ImageParameterOptions
:
[
2 items  
0
:
{
BaseImageParameterName
:
BinarizationModes
:
[
1 item  
0
:
{
BinarizationThreshold
:
-1
BlockSizeX
:
0
BlockSizeY
:
0
EnableFillBinaryVacancy
:
1
GrayscaleEnhancementModesIndex
:
-1
Mode
:
BM_LOCAL_BLOCK
MorphOperation
:
Close
MorphOperationKernelSizeX
:
-1
MorphOperationKernelSizeY
:
-1
MorphShape
:
Rectangle
ThresholdCompensation
:
10
ColourConversionModes
:
[
1 item  
0
:
{
BlueChannelWeight
:
-1
GreenChannelWeight
:
-1
Mode
:
CICM_GENERAL
RedChannelWeight
:
-1
ReferChannel
:
H_CHANNEL
GrayscaleEnhancementModes
:
[
1 item  
0
:
{
Mode
:
GEM_GENERAL
Sensitivity
:
-1
SharpenBlockSizeX
:
-1
SharpenBlockSizeY
:
-1
SmoothBlockSizeX
:
-1
SmoothBlockSizeY
:
-1
GrayscaleTransformationModes
:
[
1 item  
0
:
{
Mode
:
GTM_INVERTED
IfEraseTextZone
:
1
Name
:
IP_1
RegionPredetectionModes
:
[
1 item  
0
:
{
AspectRatioRange
:
[]
FindAccurateBoundary
:
0
ForeAndBackgroundColours
:
[]
HeightRange
:
[]
ImageParameterName
:
MeasuredByPercentage
:
1
MinImageDimension
:
262144
Mode
:
RPM_GENERAL
RelativeRegions
:
[]
Sensitivity
:
1
SpatialIndexBlockSize
:
5
WidthRange
:
[]
ScaleDownThreshold
:
2300
ScaleUpModes
:
[
1 item  
0
:
{
AcuteAngleWithXThreshold
:
-1
LetterHeightThreshold
:
0
Mode
:
SUM_AUTO
ModuleSizeThreshold
:
0
TargetLetterHeight
:
0
TargetModuleSize
:
0
TextDetectionMode
:
{
CharHeightRange
:
[
3 items  
0
:
1
1
:
1000
2
:
1
Direction
:
UNKNOWN
MaxSpacingInALine
:
-1
Mode
:
TTDM_LINE
Sensitivity
:
3
StringLengthRange
:
null
TextureDetectionModes
:
[
1 item  
0
:
{
Mode
:
TDM_GENERAL_WIDTH_CONCENTRATION
Sensitivity
:
5
1
:
{
BaseImageParameterName
:
BinarizationModes
:
[
1 item  
0
:
{
BinarizationThreshold
:
-1
BlockSizeX
:
0
BlockSizeY
:
0
EnableFillBinaryVacancy
:
1
GrayscaleEnhancementModesIndex
:
-1
Mode
:
BM_LOCAL_BLOCK
MorphOperation
:
Close
MorphOperationKernelSizeX
:
-1
MorphOperationKernelSizeY
:
-1
MorphShape
:
Rectangle
ThresholdCompensation
:
10
ColourConversionModes
:
[
1 item  
0
:
{
BlueChannelWeight
:
-1
GreenChannelWeight
:
-1
Mode
:
CICM_GENERAL
RedChannelWeight
:
-1
ReferChannel
:
H_CHANNEL
GrayscaleEnhancementModes
:
[
1 item  
0
:
{
Mode
:
GEM_GENERAL
Sensitivity
:
-1
SharpenBlockSizeX
:
-1
SharpenBlockSizeY
:
-1
SmoothBlockSizeX
:
-1
SmoothBlockSizeY
:
-1
GrayscaleTransformationModes
:
[
1 item  
0
:
{
Mode
:
GTM_ORIGINAL
IfEraseTextZone
:
1
Name
:
IP_Decode
RegionPredetectionModes
:
[
1 item  
0
:
{
AspectRatioRange
:
[]
FindAccurateBoundary
:
0
ForeAndBackgroundColours
:
[]
HeightRange
:
[]
ImageParameterName
:
MeasuredByPercentage
:
1
MinImageDimension
:
262144
Mode
:
RPM_GENERAL
RelativeRegions
:
[]
Sensitivity
:
1
SpatialIndexBlockSize
:
5
WidthRange
:
[]
ScaleDownThreshold
:
99999
ScaleUpModes
:
[
1 item  
0
:
{
AcuteAngleWithXThreshold
:
-1
LetterHeightThreshold
:
0
Mode
:
SUM_AUTO
ModuleSizeThreshold
:
0
TargetLetterHeight
:
0
TargetModuleSize
:
0
TextDetectionMode
:
{
CharHeightRange
:
[
3 items  
0
:
1
1
:
1000
2
:
1
Direction
:
UNKNOWN
MaxSpacingInALine
:
-1
Mode
:
TTDM_LINE
Sensitivity
:
3
StringLengthRange
:
null
TextureDetectionModes
:
[
1 item  
0
:
{
Mode
:
TDM_GENERAL_WIDTH_CONCENTRATION
Sensitivity
:
5
TargetROIDefOptions
:
[
1 item  
0
:
{
BaseTargetROIDefName
:
Location
:
{
Offset
:
{
FirstPoint
:
[
4 items  
0
:
0
1
:
0
2
:
1
3
:
1
FourthPoint
:
[
4 items  
0
:
0
1
:
100
2
:
1
3
:
1
MeasuredByPercentage
:
1
ReferenceObjectOriginIndex
:
0
ReferenceObjectType
:
ROT_ATOMIC_OBJECT
ReferenceXAxis
:
{
AxisType
:
AT_MIDPOINT_EDGE
EdgeIndex
:
0
LengthReference
:
LR_X
RotationAngle
:
90
ReferenceYAxis
:
{
AxisType
:
AT_MIDPOINT_EDGE
EdgeIndex
:
1
LengthReference
:
LR_Y
RotationAngle
:
90
SecondPoint
:
[
4 items  
0
:
100
1
:
0
2
:
1
3
:
1
ThirdPoint
:
[
4 items  
0
:
100
1
:
100
2
:
1
3
:
1
Name
:
roi_default
PauseFlag
:
0
TaskSettingNameArray
:
[
1 item  
0
:
BR_1

Issue: Direct Part Marks (DPM) are codes, symbols, and texts that are etched or printed directly onto the surface of a part, which has a different texture from marks printed on paper. They are often inverted on a dark surface.

Solution: Enable the DPM reading mode and invert the color of the image using GrayscaleTransformationModes.

Single
Clean
Direct part marking
Other
Data Matrix

Download Our Free Barcode Test Sheet

Curious about how our Dynamsoft Barcode Scanner SDK works in real-world applications? Download our free Barcode Test Sheet, a comprehensive PDF packed with different types of barcodes, batched barcodes or even damaged codes ready to be scanned. Explore the real-world examples to see how Dynamsoft can boost your scanning performance and tackle the challenges of difficult-to-read barcodes.

Barcode Test Sheet
barcode-test-sheet-illus.png