Skip to content

Commit 539ab03

Browse files
committed
feat: add brightness, contrast, saturation, sharpness
1 parent af4615e commit 539ab03

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-0
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,10 @@ const stillCamera = new StillCamera({
242242
- [`flip: Flip`](#flip) - *Default: `Flip.None`*
243243
- `delay: number` - *Default: 1 ms*
244244
- `shutter: number` - *Default: Auto calculated based on framerate (1000000µs/fps). Number is in microseconds*
245+
- `sharpness: number` - *Range: `-100`-`100`; Default: `0`*
246+
- `contrast: number` - *Range: `-100`-`100`; Default: `0`*
247+
- `brightness: number` - *Range: `0`-`100`; Default: `50`*
248+
- `saturation: number` - *Range: `-100`-`100`; Default: `0`*
245249
- `iso: number` - *Default: Auto*
246250
- `exposureCompensation: number` - *Default: `0`*
247251
- [`exposureMode: ExposureMode`](#exposuremode) - *Default: Auto*
@@ -281,6 +285,10 @@ const streamCamera = new StreamCamera({
281285
- [`codec: Codec`](#codec) - *Default: `Codec.H264`*
282286
- [`sensorMode: SensorMode`](#sensormode) - *Default: `SensorMode.AutoSelect`*
283287
- `shutter: number` - *Default: Auto calculated based on framerate (1000000µs/fps). Number is in microseconds*
288+
- `sharpness: number` - *Range: `-100`-`100`; Default: `0`*
289+
- `contrast: number` - *Range: `-100`-`100`; Default: `0`*
290+
- `brightness: number` - *Range: `0`-`100`; Default: `50`*
291+
- `saturation: number` - *Range: `-100`-`100`; Default: `0`*
284292
- `iso: number` - *Default: Auto*
285293
- `exposureCompensation: number` - *Default: `0`*
286294
- [`exposureMode: ExposureMode`](#exposuremode) - *Default: Auto*

src/lib/shared-args.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,26 @@ export function getSharedArgs(options: StillOptions | StreamOptions): string[] {
4343
*/
4444
...(options.shutter ? ['--shutter', options.shutter.toString()] : []),
4545

46+
/**
47+
* Sharpness (-100 to 100; default 0)
48+
*/
49+
...(options.sharpness ? ['--sharpness', options.sharpness.toString()] : []),
50+
51+
/**
52+
* Contrast (-100 to 100; default 0)
53+
*/
54+
...(options.contrast ? ['--contrast', options.contrast.toString()] : []),
55+
56+
/**
57+
* Brightness (0 to 100; default 50)
58+
*/
59+
...((options.brightness || options.brightness === 0) ? ['--brightness', options.brightness.toString()] : []),
60+
61+
/**
62+
* Saturation (-100 to 100; default 0)
63+
*/
64+
...(options.saturation ? ['--saturation', options.saturation.toString()] : []),
65+
4666
/**
4767
* ISO
4868
*/

src/lib/still-camera.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ export interface StillOptions {
1010
flip?: Flip;
1111
delay?: number;
1212
shutter?: number;
13+
sharpness?: number;
14+
contrast?: number;
15+
brightness?: number;
16+
saturation?: number;
1317
iso?: number;
1418
exposureCompensation?: number;
1519
exposureMode?: ExposureMode;

src/lib/stream-camera.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ export interface StreamOptions {
3131
codec?: Codec;
3232
sensorMode?: SensorMode;
3333
shutter?: number;
34+
sharpness?: number;
35+
contrast?: number;
36+
brightness?: number;
37+
saturation?: number;
3438
iso?: number;
3539
exposureCompensation?: number;
3640
exposureMode?: ExposureMode;

0 commit comments

Comments
 (0)