Skip to content

Additions

SemiTransparentWindowsProcessor

It is used to dim / brighten car windows and set their transparency. For proper operation of the processor, you need to call beforehand: WindowSegmentationProcessor.

Parameters
  • windowTransparency - Value from 0 to 1, by default 0.15. Determines the opacity of the window; 0 - full opacity, 1 - solid color.
  • windowBrightness - Value from -1 to 1, by default 0.0. Defines the brightness of the window; 0 - unchanged, -1 - black, 1 - white.
  • minWindowSize - Value from 0 to 1, by default 0.001. Specifies the minimal windows size (as % car pixels), a window with a smaller size will be filled as in the original image.
  • minWindowBrightness - Value from 0 to 1, by default 0.15. Specifies the minimal windows brightness (as % of 255), a window with a smaller value will be filled as in the original image.
Example of usage

[
    {
        "processorName": "DetectCarMaskProcessor"
    },      
{ "processorName": "WindowSegmentationProcessor", "confidenceThreshold": 0.3 }, { "processorName": "SemiTransparentWindowsProcessor", "windowTransparency": 0.15, "windowBrightness": 0.0 }, { "processorName": "PlaceCarProcessor", "horizonLine": 0.3, "carWidth": 0.7, "carHeight": 0.5, "background": "#FFFFFF" } ]

Example results

ChangePlateProcessor

Finds and blurs or changes license plates.

Parameters
  • background:
    • content name (check adding content) - use it to add your logo,
    • starts with # - background to be replaced by a color given as #RRGGBB,
    • original - use it to blur plates.
  • blurKernelSize - Value from 0 to 1, by default together with original as background defines blur effect quantity.
Example of usage

[
    {
        "processorName": "DetectCarMaskProcessor"
    },
    {
        "processorName": "ChangePlateProcessor",
        "background": "original",
        "blurKernelSize": 0.5
    }
]

Example result

SpinStabilizationProcessor

It is used to stabilize the car in a 360° spin. By using it, a smooth rotation can be achieved between successive shots in the spin. Photos have to be uploaded in 360° mode.

Proper Scope

To use it you have to first call CarKeyPointsProcessor, InterestPointsDetectionProcessor. It works properly from 8 images onwards. Photos should be taken from various angles of view, so that each side of the car is clearly visible. E.g. for minimum of 8 photos user should walk around the car and take photos every c.a. 45 degrees. The best effect can be achieved when used together withAnchoringComputeProcessor or PlaceCarComputeProcessor.

Parameters
  • scale - Value from 0 to 1, by default 0.5. The scale in which the computations are done, it is recommended to keep the default value.
  • csMode - true/false, by default true. true Use only for photos taken with a Carscanner, if false FOV is assumed to be 67.4 degrees.
  • ellipticTrack - true/false, by default true. true Use only for photos taken with a Carscanner. Makes for better stabilization for such photos. false - For hand-held images.
  • fov - Value from -1 to 179, by default -1.0. The field of view camera. A value of -1.0 means that the value is taken from the EXIF of the photo. If the EXIF does not contain FOV information, the value is taken: 67.4.
Example of usage

[  
    {
        "processorName": "ReadExifDataProcessor"
    },
   {
        "processorName": "DetectCarMaskProcessor",
        "carDetectionThreshold": 0.0,
        "carCropThreshold": 0.0
    },
    {
        "processorName": "CarKeyPointsProcessor",
        "carDetectionThreshold": 0.0
    },
    {
        "processorName": "InterestPointsDetectionProcessor",
        "scale": 0.5
    },
    {
        "processorName": "SpinStabilizationProcessor",
        "scale": 0.5,
        "csMode": true,
        "ellipticTrack": true
        "fov": -1.0
    },
    {
        "processorName": "AnchoringComputeProcessor",
        "width": -1,
        "height": -1,
        "billboards": [
            "none"
        ],
        "backgroundDirectory": "platform_12",
        "billboardReflection": false,
        "carScale": 0.55,
        "cropCar": true,
        "keepCarOnImage": true,
        "marginLeft": 0.15,
        "marginRight": 0.15,
        "marginUp": 0.2,
        "marginDown": 0.1,
        "aspectRatio": "4:3",
        "photosSorted": false,
        "reverseYaw": true,
        "billboardsPatternMode": null,
        "singleBillboardHeight": -1.0
    },
    {
        "processorName": "AnchoringApplyProcessor"
    },
    {
        "processorName": "DetectCarShadowProcessor"
    },
    {
        "processorName": "PlaceShadowProcessor",
        "background": "original",
        "shadowOpacity": 0.9,
        "shadowSize": 0.5,
        "advancedShadowEnabled": true,
        "advancedShadowShift": 0.25,
        "advancedShadowStrength": 0.5
    }
]
   

Example result

RollCompensationProcessor

It is used to level the car in the image.

Proper Scope

To use it you have to first call CarKeyPointsProcessor. If the input photo is correctly leveled, the recognized angle may not be 0. The output photo may therefore be rotated.

Parameters
  • crop - true/false, by default false. true - Crops the black area around the edges of the photo that was created by the rotation. false - Leaves a black area.
Example of usage

[
    {
        "processorName": "DetectCarMaskProcessor"
    },
    {
        "processorName": "CarKeyPointsProcessor"
    },
    
    {
        "processorName": "RollCompensationProcessor"
    },
    
    {
        "processorName": "PlaceCarProcessor",
        "background": "examplephoto",
        "horizonLine": 0.2,
        "carWidth": 0.7,
        "carHeight": 0.5,
        "useKeypoints": true
    },
    {
        "processorName": "DetectCarShadowProcessor"
    },
    {
        "processorName": "PlaceShadowProcessor",
        "background": "original",
        "shadowOpacity": 0.7,
        "shadowSize": 0.5,
        "advancedShadowEnabled": true,
        "advancedShadowShift": 0.25,
        "advancedShadowStrength": 0.9
    }
]

Example results

AddReflectionProcessor

It is used to generate the reflection of the car on the ground.

Proper Scope

To use it you have to first call CarKeyPointsProcessor, DetectCarMaskProcessor and DetectCarShadowProcessor, The maximum size of the output image is equal to the size of the input image. If the input image has large margins, the reflections may take up more space. If the car image has small margins, the reflections are cropped to the size of the input image.

Parameters
  • overwriteDefault - true/false, by default false. true - If you want to define your own reflection parameters. false - Uses predefined parameters for each platform.
  • opacity - Value from 0 to 1, by default 0.5. Indicates opacity of the reflection. 0 means the reflection is invisible, 1 means the reflection is the most visible.
  • length - Value from 0 to 1, by default 0.5. Indicates length of the reflection (from wheels to roof), 0 means the reflection is short, 1 means the reflection is the most long.
  • blur - Value from 0 to 1, by default 0.5. Indicates blur of the reflection. 0 means no blurred, 1 means the reflection is the most blurred.
  • motionBlur - Value from 0 to 1, by default 0.5. Indicates motionBlur of the reflection. 0 means no blurred, 1 means the reflection is the most blurred.
Example of usage

 [
    {
        "processorName": "ReadExifDataProcessor",
        "rotate": true
    },
    {
        "processorName": "DetectCarMaskProcessor",
        "carDetectionThreshold": 0.0,
        "carCropThreshold": 0.0,
        "estimateMaskScore": false
    },
    {
        "processorName": "CarKeyPointsProcessor",
        "carDetectionThreshold": 0.0
    },
{ "processorName": "WindowSegmentationProcessor", "confidenceThreshold": 0.3 }, { "processorName": "SemiTransparentWindowsProcessor", "windowTransparency": 0.15, "windowBrightness": 0.0, "minWindowSize": 0.001, "minWindowBrightness": 0.15 }, { "processorName": "RollCompensationProcessor", "crop": false }, { "processorName": "AnchoringComputeProcessor", "width": -1, "height": -1, "billboards": [ "none" ], "backgroundDirectory": "platform_1", "billboardReflection": true, "carScale": 0.6, "cropCar": true, "keepCarOnImage": true, "marginLeft": 0.15, "marginRight": 0.15, "marginUp": 0.2, "marginDown": 0.1, "aspectRatio": "4:3", "smoothMovement": false, "photosSorted": false, "reverseYaw": true, "singleBillboardHeight": -1.0, "bboxStabilization": false }, { "processorName": "AnchoringApplyProcessor" }, { "processorName": "DetectCarShadowProcessor" }, { "processorName": "AddReflectionProcessor", "overwriteDefault": false, "opacity": 0.5, "length": 0.5, "blur": 0.5, "motionBlur": 0.5 }, { "processorName": "PlaceShadowProcessor", "background": "original", "shadowOpacity": 0.9, "shadowSize": 0.5, "advancedShadowEnabled": true, "advancedShadowShift": 0.25, "advancedShadowStrength": 0.5 } ]

Example results