219
edits
(update of "make check" output) |
(Update example session for new 0.2.1 release) |
||
Line 10: | Line 10: | ||
== Example session == | == Example session == | ||
Lines starting with octave> are executed on the octave prompt. | Lines starting with "octave:>" are executed on the octave prompt. | ||
=== Load the package and list available hardware === | === Load the package and list available hardware === | ||
octave> pkg load image-acquisition | octave:> pkg load image-acquisition | ||
octave> imaqhwinfo | octave:> imaqhwinfo | ||
ans = | ans = | ||
scalar structure containing the fields: | scalar structure containing the fields: | ||
driver = uvcvideo | driver = uvcvideo | ||
card = UVC Camera (046d:0825) | card = UVC Camera (046d:0825) | ||
Line 29: | Line 29: | ||
=== Open the v4l2 device and output the result === | === Open the v4l2 device and output the result === | ||
octave> obj = videoinput("v4l2", "/dev/video0") | octave:> obj = videoinput("v4l2", "/dev/video0") | ||
obj = videoinput for v4l2 | obj = videoinput for v4l2 | ||
device | device = /dev/video0 | ||
driver | driver = uvcvideo | ||
card | card = UVC Camera (046d:0825) | ||
VideoInput | VideoInput = 0 | ||
VideoResolution | VideoResolution = 320 x 240 px | ||
VideoFormat = YUYV | |||
=== Query which properties are available for the used device === | === Query which properties are available for the used device === | ||
The first | |||
octave> get(obj) | The first 8 ones, starting with an upper letter are fixed, the other specific to the used v4l2 device. | ||
octave:> get(obj) | |||
ans = | ans = | ||
{ | { | ||
[1,1] = SelectedSourceName | [1,1] = SelectedSourceName | ||
[2,1] = DeviceCapabilities | [2,1] = ReturnedColorSpace | ||
[ | [3,1] = BayerSensorAlignment | ||
[ | [4,1] = DeviceCapabilities | ||
[ | [5,1] = VideoInput | ||
[ | [6,1] = VideoResolution | ||
[ | [7,1] = VideoFrameInterval | ||
[ | [8,1] = VideoFormat | ||
[ | [9,1] = brightness | ||
[ | [10,1] = contrast | ||
[ | [11,1] = saturation | ||
[ | [12,1] = white_balance_temperature_auto | ||
[ | [13,1] = gain | ||
[ | [14,1] = power_line_frequency | ||
[ | [15,1] = white_balance_temperature | ||
[ | [16,1] = sharpness | ||
[ | [17,1] = backlight_compensation | ||
[ | [18,1] = exposure_auto | ||
[19,1] = exposure_absolute | |||
[20,1] = exposure_auto_priority | |||
} | } | ||
=== Set VideoFormat to RGB3 aka RGB24 === | |||
octave:> set(obj, "VideoFormat", "RGB3"); | |||
=== Get device capabilities === | === Get device capabilities === | ||
octave> get(obj, "DeviceCapabilities") | |||
octave:> get(obj, "DeviceCapabilities") | |||
ans = | ans = | ||
scalar structure containing the fields: | scalar structure containing the fields: | ||
driver = uvcvideo | driver = uvcvideo | ||
card = UVC Camera (046d:0825) | card = UVC Camera (046d:0825) | ||
bus_info = usb-0000:00: | bus_info = usb-0000:00:12.2-4 | ||
version = 3. | version = 3.16.7 | ||
capabilities = | capabilities = 2.2314e+09 | ||
=== List available video resolutions === | === List available video resolutions === | ||
octave> set(obj, "VideoResolution") | |||
octave:> set(obj, "VideoResolution") | |||
ans = | ans = | ||
640 480 | 640 480 | ||
160 120 | 160 120 | ||
Line 101: | Line 110: | ||
=== Set the video resolution to 320x240px === | === Set the video resolution to 320x240px === | ||
octave> set(obj, "VideoResolution", [320 240]) | octave:> set(obj, "VideoResolution", [320 240]) | ||
=== Get the current brightness value === | === Get the current brightness value === | ||
octave> get(obj, "brightness") | |||
octave:> get(obj, "brightness") | |||
ans = 100 | ans = 100 | ||
=== Query possible range for brightness === | === Query possible range for brightness === | ||
octave> set(obj, "brightness") | |||
octave:> set(obj, "brightness") | |||
ans = | ans = | ||
scalar structure containing the fields: | scalar structure containing the fields: | ||
min = 0 | min = 0 | ||
max = 255 | max = 255 | ||
Line 119: | Line 130: | ||
=== Set a new value for brightness === | === Set a new value for brightness === | ||
octave> set(obj, "brightness", 100) | |||
octave:> set(obj, "brightness", 100) | |||
=== Start preview === | === Start preview === | ||
octave> preview(obj) | |||
octave:> preview(obj) | |||
Close it with CTRL+C or with [X] on the preview window | Close it with CTRL+C or with [X] on the preview window | ||
=== Use higher resolution and start streaming with 2 buffers === | === Use higher resolution and start streaming with 2 buffers === | ||
octave> set(obj, "VideoResolution", [640 480]); | |||
octave> start(obj, 2) | octave:> set(obj, "VideoResolution", [640 480]); | ||
octave:> start(obj, 2) | |||
=== Get an image from the buffers, view and save it === | === Get an image from the buffers, view and save it === | ||
octave> img = getsnapshot(obj); | |||
octave> image(img) | octave:> img = getsnapshot(obj); | ||
octave> imwrite(img, "ex1_a.png") | octave:> image(img) | ||
octave> [img, seq, t] = getsnapshot(obj); | octave:> imwrite(img, "ex1_a.png") | ||
octave> seq | |||
octave:> [img, seq, t] = getsnapshot(obj); | |||
octave> t | octave:> seq | ||
seq = 1 | |||
octave:> t | |||
t = | |||
scalar structure containing the fields: | scalar structure containing the fields: | ||
tv_sec = | tv_sec = 10281 | ||
tv_usec = | tv_usec = 779303 | ||
=== Stop streaming === | === Stop streaming === | ||
octave> stop(obj) | |||
octave:> stop(obj) | |||
== Using v4l2loopback for tests == | == Using v4l2loopback for tests == |
edits