shift.md
February 27, 2025 ยท View on GitHub
degradation {
type = "shift"
shift_type= ["cmyk","rgb","yuv"]
percent = true
rgb = {
r = [[-10,10], [-10,10]]
g = [[-10,10], [-10,10]]
b = [[-10,10], [-10,10]]
}
cmyk = {
c = [[-10,10], [-10,10]]
m = [[-10,10], [-10,10]]
y = [[-10,10], [-10,10]]
k = [[0,0], [0,0]]
}
yuv = {
y = [[-10,10], [-10,10]]
u = [[-10,10], [-10,10]]
v = [[-10,10], [-10,10]]
}
not_target = [[-10,10], [-10,10]]
probability = 0.5
}
* = optional parameters
Basic Parameters
-
shift_type* - Color spaces to apply shifts in- Default: ["rgb"]
- Options: "rgb", "yuv", "cmyk"
- Multiple types can be used
- Each type creates different artifacts
-
percent* - Controls shift measurement- Default: false
- true: Shifts are % of image size
- false: Shifts are in pixels
-
probability* - Chance of applying effect- Default: 1.0
- Range: 0.0 to 1.0
Channel Shift Settings
Each channel has format: [[x_min,x_max], [y_min,y_max]]
- x values control horizontal shift
- y values control vertical shift
- Positive = right/down shift
- Negative = left/up shift
RGB Shifts
rgb.r* - Red channel shift rangergb.g* - Green channel shift rangergb.b* - Blue channel shift range Example: [[0,5], [0,5]] means:- Random x shift: 0-5 pixels/percent right
- Random y shift: 0-5 pixels/percent down
YUV Shifts
yuv.y* - Luminance shift rangeyuv.u* - Blue-difference shift rangeyuv.v* - Red-difference shift range
CMYK Shifts
cmyk.c* - Cyan shift rangecmyk.m* - Magenta shift rangecmyk.y* - Yellow shift rangecmyk.k* - Black shift range
Examples:
all percent = true
raw
rgb r = [[-1], [1]] g = [[1], [1]] b = [[-1], [-1]]
cmyk c = [[-1], [1]] m = [[1], [1]] y = [[-1], [-1]] k = [[0], [0]]
yuv y = [[-1], [1]] u = [[1], [1]] v = [[-1], [-1]]
