Add linescan plugin for line scan camera simulation

- New plugin extracts single row/column from frames and builds line scan image
- Supports horizontal mode (extract row, stack vertically)
- Supports vertical mode (extract column, stack horizontally)
- Configurable line index and output size
- Proper caps negotiation with fixate_caps implementation
- Updated build system to include linescan plugin
- Added comprehensive README with usage examples
This commit is contained in:
yair
2025-11-18 01:10:47 +02:00
parent 07673f3f36
commit b19babd038
8 changed files with 1119 additions and 5 deletions

View File

@@ -27,12 +27,12 @@ gst-launch-1.0 idsueyesrc config-file=ini/whole-presacler64_autoexp-binningx2.in
#### Send Single Line via UDP
Extract and transmit one line from camera (daytime, 200fps):
```pwsh
gst-launch-1.0 idsueyesrc config-file=ini/100fps-10exp-2456x4pix-500top-cw-extragain.ini exposure=10 framerate=750 ! `
gst-launch-1.0 idsueyesrc config-file=ini/2456x4pix-500top-cw-extragain.ini exposure=10 framerate=750 ! `
videocrop bottom=3 ! `
queue ! `
udpsink host=10.81.2.183 port=5000
```
now moving to
now moving to automatic exposure (see [gstintervalometer](gst\intervalometer\gstintervalometer.c))
```pwsh
uv run .\scripts\launch-ids.py `
--config .\ini\2456x4pix-500top-cw.ini `
@@ -44,6 +44,16 @@ uv run .\scripts\launch-ids.py `
--host 10.81.2.183
```
```pwsh
gst-launch-1.0 idsueyesrc config-file=ini/2456x4pix-500top-cw-extragain.ini exposure=0.85 framerate=750 gain=0 name=cam device-id=1 ! `
intervalometer enabled=true camera-element=cam `
ramp-rate=vslow `
update-interval=1000 `
gain-ma52 `
log-file=timelapse.csv ! `
videocrop bottom=3 ! queue ! udpsink host=10.81.2.183 port=5000
```
#### Receive and Display
```pwsh
uv run .\scripts\recv_raw_rolling.py --display-fps 60
@@ -77,7 +87,7 @@ gst-launch-1.0 -v `
```
moving to
```pwsh
uv run .\scripts\launch-ids.py --config .\ini\100fps-10exp-2456x4pix-500top-cw-extragain.ini --device-id 1 --framerate 750 --exposure 10 --host 10.81.2.183 --gain 52
uv run .\scripts\launch-ids.py --config .\ini\2456x4pix-500top-cw-extragain.ini --device-id 1 --framerate 750 --exposure 10 --host 10.81.2.183 --gain 52
```
## WIP - Frame filtering based on column analysis