zougloub / libseek Goto Github PK
View Code? Open in Web Editor NEWlibusb-based API to use the Seek Thermal Imager infrared camera
License: MIT License
libusb-based API to use the Seek Thermal Imager infrared camera
License: MIT License
./build/seek-test
terminate called after throwing an instance of 'std::runtime_error'
what(): Failed to open device
Aborted (core dumped)
PS: Ubuntu 14.04.4
Device: seek thermal CompactXR(android edition)
Any idea how to fix this?
thanks
i try but have error
root@raspberrypi:/home/pi/waf/libseek# ./build/seek-test-calib
terminate called after throwing an instance of 'std::runtime_error'
what(): Seek not found
Aborted
I know this is on the TODO list, but I would like to open an issue for it to get more details.
I would like to use this in a project where an absolute reading would be very useful, and the Thermal Seek looks to be the best solution, using your library.
So I'd like to ask, is there perhaps any progress on this? Can I help? I'll buy the Thermal Seek myself soon.
Hi, I'm running the instructions to calibrate as given:
./build/seek-test-calib
./test-calib.py
./seek_bpc.py
The first two go fine, but when running seek_bpc.py, I get:
Traceback (most recent call last):
File "./seek_bpc.py", line 179, in <module>
bpc.load()
File "./seek_bpc.py", line 159, in load
with open("bad_crazy.pickle", "r") as f:
IOError: [Errno 2] No such file or directory: 'bad_crazy.pickle'
If I uncomment the two lines:
bpc.identify()
bpc.save()
Then it seems to run, although by the output:
[001/2322] Finding recipe for bad pixel at (0,10)
...
[002/2322] Finding recipe for bad pixel at (0,26)
...
It's going to take hours/days to complete.
Hi when I run seek_bpc.py the calibration fails with the following error. This happen regardless of the mentioned commented lines in seek_bpc.py.
"
Traceback (most recent call last):
File "./seek_bpc.py", line 227, in
bpc.correct(img)
File "./seek_bpc.py", line 156, in correct
self.correct_crazy(img)
File "./seek_bpc.py", line 149, in correct_crazy
v += img[y0+y,x0+x] * w
IndexError: invalid index to scalar variable.
"
Also, what is a normal/average dead count?
Thanks for any help.
when i run following command it gives following errror:
pi@raspberrypi:~/libseek $ ./test-calib.py
Traceback (most recent call last):
File "./test-calib.py", line 6, in
import cv2
ImportError: No module named cv2
I am using PRO and what should I modify to use it?
I can access the device and compile but got following error when I ran the test-viewer
frame_get_one: libusb_bulk_transfer returned -7
Hi
When I run this I only get a solid gray image. Output from terminal:
~/Downloads/libseek-master
○ sudo ./build/seek-test| ffplay -i - -f rawvideo -video_size 208x156 -pixel_format gray16le
ffplay version 2.8.6-1ubuntu2 Copyright (c) 2003-2016 the FFmpeg developers
built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311
configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Status byte: 4.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 9.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 9
Status byte: 8.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 8
Status byte: 7.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 7
Status byte: a.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 10
Status byte: 5.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 5
Status byte: 1.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Input #0, rawvideo, from 'pipe:':
Duration: N/A, start: 0.000000, bitrate: 12979 kb/s
Stream #0:0: Video: rawvideo (Y1[0][16] / 0x10003159), gray16le, 208x156, 12979 kb/s, 25 tbr, 25 tbn, 25 tbc
Status byte: 3.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.072 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 6.153 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 6
Status byte: 1.153 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.153 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.628 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.709 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.800 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.882 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 6.963 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 6
Status byte: 1.963 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.963 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.458 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.539 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.621 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.702 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 6.793 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 6
Status byte: 1.793 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.793 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.278 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.360 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.451 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.533 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 6.614 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 6
Status byte: 1.614 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.614 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.109 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.192 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.273 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.355 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.446 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.527 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.609 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.690 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.781 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.863 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.944 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.035 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.116 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.198 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.279 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.371 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.462 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.533 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.624 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.705 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 6.787 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 6
Status byte: 1.787 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.787 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.282 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.363 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.444 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.526 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.617 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.698 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.779 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.871 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.952 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.034 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.125 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.206 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.287 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.368 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.459 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.541 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.622 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.713 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.794 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 3.875 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Status byte: 6.967 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Ignore 6
Status byte: 1.967 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
^C 9.74 M-V: 6.967 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Hi! When I run test-viewer.py with Raspberrypi 4B the fisrt time, it runs well. But when i exit the program and restart it, the Terminal shows frame_get_one: libusb_bulk_transfer returned -7
. And I have to reboot the pi then it works.
I have also tried adding libusb_clear_halt(handle, 0x81);
before res = libusb_bulk_transfer(handle, 0x81, &frame.m->rawdata[done], todo, &actual_length, 500);
in seek.cpp and compiling again. But it didn't work.
Hi
I installed dependencies like this:
sudo dnf group install "C Development Tools and Libraries"
sudo dnf install libusb-devel python2-numpy opencv-python
python waf configure --prefix /usr
Setting top to : /home/larsfp/Downloads/git/libseek
Setting out to : /home/larsfp/Downloads/git/libseek/build
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for program 'pkg-config' : /usr/bin/pkg-config
Checking for 'libusb-1.0' : yes
'configure' finished successfully (0.031s)
python waf
...
../seek.cpp:685:16: error: ‘class LibSeek::Frame::impl’ has no member named ‘rawdata’
m->calib.m->rawdata = frame.m->rawdata;
^~~~~~~
../seek.cpp:685:35: error: ‘class LibSeek::Frame::impl’ has no member named ‘rawdata’
m->calib.m->rawdata = frame.m->rawdata;
^~~~~~~
../seek.cpp:705:19: error: ‘class LibSeek::Frame::impl’ has no member named ‘rawdata’
(m->calib.m->rawdata.data())[y*w+x];
^~~~~~~
../seek.cpp:740:36: error: ‘class LibSeek::Imager::impl’ has no member named ‘bpc_list’
for (int idx_bp = 0; idx_bp < m->bpc_list.size(); idx_bp++) {
^~~~~~~~
../seek.cpp:742:23: error: ‘class LibSeek::Imager::impl’ has no member named ‘bpc_list’
tie(x, y, ik) = m->bpc_list[idx_bp];
^~~~~~~~
../seek.cpp:744:18: error: ‘class LibSeek::Imager::impl’ has no member named ‘bpc_kinds’
auto cnt = m->bpc_kinds[ik];
^~~~~~~~~
../seek.cpp:749:37: error: ‘class LibSeek::Imager::impl’ has no member named ‘bpc_weights’
v += data[(y+dy)*w+(x+dx)] * m->bpc_weights[iw];
^~~~~~~~~~~
Waf: Leaving directory `/home/larsfp/Downloads/git/libseek/build'
Build failed
-> task in 'seek' failed (exit status 1):
{task 139796117205392: cxx seek.cpp -> seek.cpp.1.o}
['/usr/bin/g++', '-std=c++11', '-I/usr/include/libusb-1.0', '-DHAVE_LIBUSB=1', '../seek.cpp', '-c', '-o', '/home/larsfp/Downloads/git/libseek/build/seek.cpp.1.o']
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.