flir / bosonusb Goto Github PK
View Code? Open in Web Editor NEWTool to capture Boson USB video in Linux
License: MIT License
Tool to capture Boson USB video in Linux
License: MIT License
There is a README.md and README file. Please combine into a single README.md and delete the README.
I would like to run BosonUSB on a Raspberry Pi Zero.
I can confirm, opencv is installed as well as v4l2.
However, when I run cmake . I get the following issue and I am just not knowledgeable enough to solve it.
CMake Error at CMakeLists.txt:4 (find_package):
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenCV", but
CMake did not find one.
Could not find a package configuration file provided by "OpenCV" with any
of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "/home/pi/BosonUSB/CMakeFiles/CMakeOutput.log".
CMake Error: Unable to open check cache file for write. /home/pi/BosonUSB/CMakeFiles/cmake.check_cache
Please any guidance to solve the above, will be appreciated,
I compiled opencv and BosonUSB on a raspberry pi but when I run any of the commands the displayed video in the small window is all white. It shows one instant of the camera then it goes all white. Despite this when I save them with f in a folder the captured images all look fine and I can see what's on the camera. Here is what I see in console.
./BosonUSB fcap
Boson Capture and Record Video tool v1.0
FLIR Systems
use : 'BosonUSB r' to capture in raw-16 bits mode (default)
Use : 'BosonUSB y' to capture in agc-8 bits mode
Use : 'BosonUSB z' Zoom to 640x512 (only in RAW) mode (default ZOOM OFF)
Use : 'BosonUSB f<name>' record TIFFS in Folder <NAME>
Use : 'BosonUSB [0..9]' to open /dev/Video[0..9] (default 0)
Use : 'BosonUSB s[b,B]' b=boson320, B=boson640 (default 320)
Press 'q' to quit
>>> Folder cap selected to record files
>>> Boson_320 selected
>>> /dev/video0 selected
>>> 16 bits capture selected
>>> Image width =320
>>> Image height =256
>>> Buffer lenght=163840
** (Boson_320 : RAW16 Linear:24535): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
On another note it works fine on my desktop setup so I am not sure how to debug this.
And yet another note I can open the camera in VLC on the same raspberry pi and view the video just fine.
Hello,
i get following error, when i use cmake:
~/BosonUSB$ cmake . make
CMake Error: The source directory "/home/jens/BosonUSB/make" does not exist.
Ran cmake then make and I get this
make -j12
[ 50%] Building CXX object CMakeFiles/BosonUSB.dir/BosonUSB.cpp.o
/home/ziad/Documents/src/ETV/WIND/FLIR/BosonUSB/BosonUSB.cpp: In function ‘int main(int, char**)’:
/home/ziad/Documents/src/ETV/WIND/FLIR/BosonUSB/BosonUSB.cpp:151:31: error: ‘CV_IMWRITE_PXM_BINARY’ was not declared in this scope
compression_params.push_back(CV_IMWRITE_PXM_BINARY);
^~~~~~~~~~~~~~~~~~~~~
CMakeFiles/BosonUSB.dir/build.make:62: recipe for target 'CMakeFiles/BosonUSB.dir/BosonUSB.cpp.o' failed
make[2]: *** [CMakeFiles/BosonUSB.dir/BosonUSB.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/BosonUSB.dir/all' failed
make[1]: *** [CMakeFiles/BosonUSB.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
I have opencv installed so this should work right? Is it maybe a deprecated feature of opencv being used here?
Ubuntu 18.04
OpenCV version 4.0.0-pre
I am using the 8-bit mode. and my output is a grayscale image, is cvtcolor not working?
We are trying to use the thermal information and get the real temperature information.
Do you have any idea that how we can do it?
Do you know if there is a way to get the exact timestamp of when the images are taken, rather then when the images are received from the buffer?
Thanks!
Good evening,
Not really an issue because the code works very well, even on a raspberry. Nevertheless, I need to stream the video over network with udp and H264 compression.
Do you have any ideas how to do this inside your code ?
I tried gstreamer and V4L2 drivers but the quality and latency are too bad.
Thank you very much for your help,
Regards,
François
Could you please provide a python example to read images in AGC 8bit mode? I would like to get 8bit images for object detection written in python.
Hi Everyone,
I've been trying to use the BosonSDK on Linux Ubuntu 18.04.2 LTS with the USB camera, and I have been having an issue getting the port to open. I have had success on Windows 10. I have also have success using OpenCV in Linux to read from the IR Camera.
Tried using the "make" command to remake the binary .so files. Compiled Successfully.
Running the command dmesg to find port number. This tells me that the USB device is at ttyACM0. However I'm seeing some uvcvideo issues here. The FLIR Boson camera does work in applications like Cheese.
[274557.577628] usb 1-3: USB disconnect, device number 19
[274564.366993] usb 1-3: new high-speed USB device number 20 using xhci_hcd
[274564.517588] usb 1-3: New USB device found, idVendor=09cb, idProduct=4007
[274564.517594] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[274564.517598] usb 1-3: Product: Boson
[274564.517602] usb 1-3: Manufacturer: FLIR
[274564.517606] usb 1-3: SerialNumber: 33226
[274564.519501] uvcvideo: Unknown video format 3132564e-0000-0010-8000-00aa00389b71
[274564.519513] uvcvideo: Found UVC 1.00 device Boson (09cb:4007)
[274564.521490] uvcvideo 1-3:1.0: Entity type for entity Processing 3 was not initialized!
[274564.521495] uvcvideo 1-3:1.0: Entity type for entity Camera 1 was not initialized!
[274564.522288] cdc_acm 1-3:1.2: ttyACM0: USB ACM device
The Python code that I'm running is here. Fails on the initialize method.
from BosonSDK import *
def main():
#myport = pyClient.Initialize(manualport="/dev/ttyUSB0") # Not Using
myport = pyClient.Initialize(manualport="/dev/ttyACM0") # Using from above.
#<--- Fails Here
pyClient.bosonRunFFC()
result, serialnumber = pyClient.bosonGetCameraSN()
pyClient.Close(myport)
The Failed Output, With Some additional Debug information:
Testing Code
PortNum: 16 // /dev/ttyACM0
BaudRate: 921600
Traceback (most recent call last):
File "/home/username/SVN/Code/FLIR_BosonCameraSDK/main_apitest.py", line 33, in
main()
File "/home/username/SVN/Code/FLIR_BosonCameraSDK/main_apitest.py", line 20, in main
myport = pyClient.Initialize(manualport="/dev/ttyACM0") # or manualport="COM7" on Windows
File "/media/username/data1T/SVN/Code/FLIR_BosonCameraSDK/BosonSDK/ClientFiles_Python/Client_API.py", line 20, in Initialize
uart.OpenPort(manual_port=manualport,manual_baud=manualbaud)
File "/media/username/data1T/SVN/Code/FLIR_BosonCameraSDK/BosonSDK/FSLP_Files/UART_HalfDuplex.py", line 200, in OpenPort
raise IOError("Failed to open COM port {:d}!, Portnum: {:d}, BaudRate: {:d}".format(ret,portnum,baudrate))
OSError: Failed to open COM port -1!, Portnum: 16, BaudRate: 921600
Since this issue happens in the compiled C code, It might be due to a driver issue. Any help would be appreciated. Thanks!
SDK Download Link: Click on Boson SDK & IDD, BosonSDK_rev206.zip
https://www.flir.com/support/products/boson#Resources
SDK Manual:
https://www.flir.com/globalassets/imported-assets/document/boson_sdk_documentation_9hz-v11412-and-later.pdf
I have a Boson 640 core plugged into a USB 3.0 hub, with a Flir USB 2.0 VPC. I'm running on a linux based embedded computing platform based on the aarch64 Linux 5.10 kernel (it is very similar to Debian).
I've successfully compiled the BosonUSB application for my platform, and am running the application as follows:
./Boson_USB y SB
So it is running in 8 bit YUV mode as Boson640 defaulting to video0.
After the application runs for ~45 seconds, the application freezes and there are no more frames being redisplayed or consumed from the camera.
The processor is not locked up and I am able to continue operations on the board itself.
While the application is running, dmesg is getting spammed with errors as follows:
uvcvideo: Non-zero status (-75) in video completion handler.
Device is still listed under lsusb and in /dev/video0 & 1 while the USB app is frozen.
I see this same behavior with another Boson camera on a different embedded board, so I do not believe its a specific hardware failure.
It is useful to be able to but a limit on the frames in the arguments so you can capture a certain number of frames. While indeed the user could set a sleep timer to time the program it is much more difficult to write a script that stops after a certain frame.
Need to know in order to convert 16bit pixel values to temperatures, from the instructions here. https://flir.custhelp.com/app/answers/detail/a_id/4677
When running the executable on video mode RWA16. it takes up 1 core.
It looks like The basic linear AGC is very consuming
I am currently developing an app with the Boson 640 with the USB adapter board. I would like to have the ability to change the framerate of the camera, but so far I have been unsuccessful. What v4l commands should I use to do this? I've tried the following code and a few other things. Any help would be appreciated.
struct v4l2_streamparm parm;
parm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
parm.parm.capture.timeperframe.numerator = 1;
parm.parm.capture.timeperframe.denominator = 30;
int ret = xioctl(fd, VIDIOC_S_PARM, &parm);
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.