Git Product home page Git Product logo

libseek-thermal's People

Contributors

bostwickenator avatar crabdancing avatar ebachard avatar fnoop avatar joshdoe avatar maartenvds avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libseek-thermal's Issues

Shared library?

Is it possible to produce a shared library instead of static?

v4l2 support

Hi everyone,

I try to stream thermal imaging data using gstreamer without success

try to setup v4l2 loopback:
seek_viewer --camtype=seekpro --colormap=11 --mode=v4l2 --output=/dev/video0

then using the following gstreamer pipe:
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=15/1 ! omxh264enc control-rate=1 target-bitrate=600000 interval-intraframes=1 periodicty-idr=1 ! h264parse config-interval=3 ! rtph264pay ! udpsink host=127.0.0.1 port=5600

get this error :
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.003602959
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

please could anybody give me a hand
thx

I have the following setup:
*** raspi4
*** seek thermal pro

Lots of artifacts in the image

I see lots of dots/artifacts in the image. These are static - the all remain in the same place - no matter where the camera is pointed. They are not present in the libseek images. Am I missing a step somewhere to correct bad pixels or something?
screen shot 2017-05-20 at 18 37 39

[information] testing a Gui integration

Hello,

Not sure at all it will work, but I'm currently testing libseek integration in seekGui, itself based on miniDart. The code is currently under GPL license, to protect my work (I'm not a company), but I'll very probably change one day for something more permissive.

See : https://framagit.org/ericb/ir_thermography/-/tree/master/SeekGui

The gui is based on Dear ImGui, is extremely portable and works on Windows and Linux. The build is currently ok (linking with libusb-1.0 and OpenCV 3.4.0).

No idea about Mac OS X, but it shouldn't be too difficult to adapt.

Last but not least, once I'll have received my camera, I'll try to integrate your code into seekGui, including tests.

Edit : libusb-1.0 and libopencv3.4.0 cross-compilation is ok, and I'll try to cross compile seekGui asap too.

cannot close and re-open LibSeek::SeekThermalPro

Hi

After I opened the cam with:

if(!cam.open())
    {
        mBox->setText("Unable to open SeekThermal device");
        mBox->show();
        return 1;
    }

and I close it later with:
cam.close();
I cannot open it with the first command again, I get the error

Error: SeekDevice already opened
Error: open failed

but I can clearly hear that the shutter closed on the cam.close command...
I am doing it wrong?

Frame ID never changes from 4 on linux virtual machine

bool SeekCam::grab()
{
    int i;

    for (i=0; i<10; i++) {
        if(!get_frame()) {
            error("Error: frame acquisition failed\n");
            return false;
        }

        if (frame_id() == 3) {
            return true;

        } else if (frame_id() == 1) {
            m_raw_frame.copyTo(m_flat_field_calibration_frame);
        }
    }

    return false;
}

if I understand this code right, it waits for the incoming frame data to have a frame id of 3 (3rd 16bit value in frame) but my camera never changes from 4, what would trigger it to change? I made a few edits to the code to have better output:

https://pastebin.com/hEB2wuFV

it fails with:

/home/tester/code/thermal/2/src/SeekCam.cpp:174:open_cam(): Error: first grab failed

what can I do? is there a documentation to the frame data structure?

Corrupted frames

Hello. First, thank you for the library it is super cool =) But I need to go to the issue. Time to time I see corrupted frames. Why does it happen?

Good one:
1

Corrupted:
0

Good one:
34

Corrupted:
35


My device: Seek Thermal Compact Pro
My OS: Windows 7x64

Usage

Hello,

I would like to know how I could directly obtain temperature values for pixels. If temperature values are not currently implemented, I would need to access all pixels (like in an array or similar) and run checks. How would I do that?

Also, is there a general documentation yet, or is it best to just look at the code of the examples and move forward from there?

Thanks,
-Quentin Oschatz

P.S.: I have a Seek Thermal Compact

Absolute temperature readings

Hey Guys (@Blystad / @maartenvds / @fnoop ),

Thanks for such an awesome write up and contribution! I've been looking into the absolute temperature "feature" and I believe I've got enough information. I figured flir had to do the same thing with their older sensors, sure enough I stumbled on this forum article:
https://lepton.flir.com/forums/topic/read-temperature-value-from-lepton/ :

You’d need to point your Lepton at a blackbody and record the blackbody’s temperature as well as the counts read from the Lepton. By correlating enough of these data points, one could create a polynomial function that would be used in this way: f(lepton_counts) = temp_reading

Here’s the answer from our FAQ for more information:
Obtaining temperature readings is a difficult task. A blackbody is used to obtain many samples that are used to generate a polynomial function based on Planck’s law. Typically, the calibration process would be done per Lepton.

Let me know if this makes sense for seek hardware.

Thanks,

Victor

Include pkgconfig/cmake files?

It would be great if install target would create and install pkgconfig .pc files for pkgconfig, and/or .cmake files for cmake, so other code can easily find the installed library/includes.

udev rule doc error

Hi, according to the README:
SUBSYSTEM=="usb", ATTRS{idVendor}=="289D", ATTRS{idProduct}=="XXXX", MODE="0666", GROUP="users"

However, at least on Raspbian (Debian Jessie), I had to use:
SUBSYSTEM=="usb", ATTRS{idVendor}=="289d", ATTRS{idProduct}=="XXXX", MODE="0666", GROUP="users"

(Lower case 'd' in 289d)
This had me stumped for a while!

Shutter information

Hi everyone,

I would like to know if it's possible to modify the shutter settings and how.

I saw on the SeekDevice.h file 3 device commands:

  • GET_SHUTTER_POLARITY
  • SET_SHUTTER_POLARITY
  • TOGGLE_SHUTTER

But I don't know what these commands do and how to use it.

Is there anyone to tell me more about the shutter settings ?
Because when I stream the video, the image freeze during shutter event and thoses events come out very often.

Thank you in advance all.

Etienne

libseek-thermal shows a camera sensor defect, but official Android app doesn't. [SOLVED]

I have Seek Thermal CompactPRO. I have tested the camera with libseek-thermal and official Android app. The image returned from libseek-thermal looks like camera itself has sensor defect in the bottom, however, Android app doesn't show any defect. I inspected the problem for a very long time in different conditions. I don't think, that Android app uses very advanced AI image repair. I have attached the video comparison.

edit.mp4

What is going on?

bulk transfer failed : LIBUSB_ERROR_TIMEOUT

Hi,

I'm using libseek on Raspberry Pi and it runs perfectly. However, there is an issue that appears after running seek_viewer.cpp or seek_test_pro.cpp with seek compact pro and an extensible OTG cable :

 Error : bulk transfer failed : LIBUSB_ERROR_TIMEOUT
 Error : frame acquisition failed
 Failed to read frame from camera, existing 

I can't figure out if the issue come from the software side of the driver or from the hardware (ex : the quality of the OTG cable i'm using)

Can you please help me resolving this issue?
Thank you in advance for your answer !

CompactPRO with USB-C connector produces a strange pattern

Hi,

Thanks for this excellent library.

I was testing this lib with a CompactPRO camera with a USB-C connector.

Everything seems to work fine, the USB code is the same as the CompactPRO with a micro USB connector(0011), but there's a constant pattern of wrongly read pixels in the bottom left part of the frame as you can see here:

USBC CompactPro

The image itself is correctly sized at 240x320, and most of the frame is correctly read with a fast frame rate, but there seems to be something wrong in the actual values of the pixels in the lower left side for some reason. The camera works perfectly fine on the official app on the phone by the way.

Any ideas on how I can solve this would be great, thanks!

USB soft disconnection problem

Hello,
I am using your code to connect my seek thermal compact to a linux platform running on a virtual machine (to access the USB I have tu use sudo). When I run the test code everithing is working properly, the problem is when I exit the code typing Ctrl+C.
The code terminates, but when I run again the .exe, I get an error message about a PIPE error. This error does not terminate the code, that will start running.

The critical problem is that Ctrl+C does not free completely the USB device, somehow in backgrownd there is something keeping alive the communication as explained here: http://hertaville.com/introduction-to-accessing-the-raspberry-pis-gpio-in-c.html under Using Signals

When I have tried to close the virtual machine, I got an error message that it was busy (this will confirm my hypothesis). I forced the close, and at the restart I got damaged the system files of Ubuntu. I have reinstalled everithing (starting from Ubuntu,libreries etc) twice, and the problem will happen again. So I am pretty sure that there is a bug, or a way to safetly remove the USB connection when we press Ctrl+C, without destroing the PC.

Could you please help me?

What is flat field correction?

A few words in the doc about flat field would be good, including how to use seek_create_flat_field.

Please consider some of your users thermal idiots. Thanks :)

Compact Pro on RPi Zero W LIBUSB_ERROR_TIMEOUT

Hi.
Im trying to work with Seek Thermal Pro on Raspberry Pi Zero W. After few frames seek_viewer give me error LIBUSB_ERROR_TIMEOUT. Some times it happens after couple frames, some times little bit longer. So i decide to try to sniff usb exchange with wireshark to see whats going on.
And saw that usual frame size is 177840 bytes (sended by 13 chunks 13680 bytes size). But right before timeout error chunks size reduced to 8560 bytes, or 10608 bytes, or 9584 bytes. Total size in this case was 135856 bytes. As i see frame size in your code is hard coded, so fetch_frame() try to get more bytes then device want to send, but device is nothing to give and after 10 seconds (by default) libusb generate timeout error.
Have your idea why some frames have less size than usual? I made some change in source SeekDevice.cpp to ignore timeout error and return that strange frame. As result seek_viewer work without errors (i test program with output to window).

Rpi4 with usb-c

Is this setup working? Was thinking to buy seek compact USB-c option and use with rpi4. I did not see any discussion about it.

Failed to open seek cam

Elite,can't open the cam
./seek_test_pro -> Error: first grab failed failed to open seek cam
help,help..

Can not stream the thermal video to v4l2 device ?

I executed this command:
./seek_viewer --camtype=seekpro --colormap=11 --mode=v4l2 --output=/dev/video0
And I got this error:

Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: LIBUSB_ERROR_TIMEOUT
VIDIOC_G_FMT error: Invalid argument

How can I fix this ?
/dev/video0 is my webcam.
/dev/video2 is not listed on /dev/
I also tried with them but it's not working. I understand that after execute this command, and assume that it's working good. So I can use opencv with python to view the stream video from thermal camera. Did I understand right ?

Can I use this code for Seek shot pro?

Hi :)

I have some questions about this code!
I know this code for seek compact series.
But I wanna know there is a way to connect seek shot pro and stream in real time with this code..!

Thank you for reading :)

Low frame rate

Seek Thermal camera should have frame rate about 9 frames/sec. I am running on Raspberry Pi 4B and when using this library, the frame rate is stuck at 4.4 frames/sec. CPU usage is very low. When using official Seek Thermal SDK, the frame rate is correctly at +- 8.8 frames/sec.

I am running with Seek Mosaic Core 320x240 9Hz camera.
I tried with seek_test_pro example and the frame rate is low too.

What could cause this problem?

win10 64 atom vs2015 gui error,something missing not very undestood, how to slove it

-- Selecting Windows SDK version to target Windows 10.0.18363.
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- Build type:
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- OpenCV ARCH: x64
-- OpenCV RUNTIME: vc14
-- OpenCV STATIC: OFF
-- Found OpenCV 3.4.10 in C:/opencv/build/x64/vc14/lib
-- You might need to add C:\opencv\build\x64\vc14\bin to your PATH to be able to run your applications.


-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.

  • OpenCV - Required to handle image processing

-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.


CMake Error at cmake/MacroLogFeature.cmake:141 (MESSAGE):
Exiting: Missing Requirements
Call Stack (most recent call first):
CMakeLists.txt:43 (macro_display_feature_log)

-- Configuring incomplete, errors occurred!
See also "C:/libseek-thermal-master/build/CMakeFiles/CMakeOutput.log".

Device Temp Sensor (Req.)

Hi
I know from joe-c and his windows thermovison software that there is somewhere a temperature sensor in the Seek Compact (Pro) devices. It would be really nice if one could read this value out. I asked him where the value can be read out and the referred to his dll source code. His uint16 "DevTemp" variable gets read out from two bytes from his raw stream data array data[11] and data[12] (for the Compact Pro)...

The corresponding part can be found in "ClassThermalFrame.cs"(*):

 internal ThermalFrame(byte[] data, int Width, int Height) {

...
            if (_isSeekPro) {
                StatusByte = data[4];
                DevTemp = (ushort)(data[11] << 8 | data[10]);
                FrameCnt = (ushort)(data[9] << 8 | data[8]);
            }
            else {
                StatusByte = data[20];
                DevTemp = (ushort)(data[3] << 8 | data[2]);
                FrameCnt = (ushort)(data[81] << 8 | data[80]);
            }
...

I tried to look through libseek-thermal to understand where I could tap the temperature value but
I dont get behind the code or dont know what part of "m_raw_data" contains the value.

Any ideas anyone?

(*)http://joe-c.de/pages/posts/version_1.8.0.0_tcamdll_207.php

libusb failure in seek_thermal

Hello,

at first, I wanna thank you for this lib. I use it with a seek_thermal_pro and it works perfectly. Unfortunately, I have an issue when I connect a seek_thermal camera. When I start the see_test example it returns:
Error: libusb init failed: LIBUSB_ERROR_ACCESS
Error: open failed
failed to open seek cam

Cheers,

Phil

frames missing

Hi Maarten,

Thanks very much for this library, I have managed to install and run a SEEK Pro on a Raspberry Pi 3B. I am having an issue with missing frames. I use timeout to automatically stop a recording and save a file after a set number of seconds, e.g. 20 seconds. But I always get less than the total duration and total frames expected (as viewed in the Windows software MPC-HC; also VLC). For example:

#This gives me 12 seconds of playback and 119 frames
timeout 20 seek_viewer --fps=10 --camtype=seekpro --colormap=1 --rotate=90 --scale=1 --output=/home/pi/test10fps.avi  

#This gives me 5 seconds of playback and 124 frames
timeout 20 seek_viewer --fps=25 --camtype=seekpro --colormap=1 --rotate=90 --scale=1 --output=/home/pi/test25fps.avi

In both cases I used a stopwatch to time the actual recording time, which was indeed 20 seconds. The internal refresh click on the camera happened several times in each recording. I am planning to record for sequential 15 minute blocks in my intended application. I would really like a minimum of 25fps if I can get it.

Advice would be very much appreciated, Kyle

Temperature Information

Hello, your project is a really good lib for seek cams and its easy to use.
With some modifications i could even generate images.
Is there any way to get the temperature information?
I will be pleased for a response.

Maan AL Balkhi

seek-viewer w/ SEEK Compact Pro image size

Thank you for making this software available!

When I try seek-viewer with a SEEK Thermal Compact Pro I do not seem to get the 320x240 image like the seek-Test program does. What am I doing wrong?

Also what is the syntax for "--output= "? When I tried it with "--output=/tmp/Seek.avi" the resulting file is only about 5Kbytes regardless of the duration of the capture and is unreadable by vlc or a media player. I am using Ubuntu 16.04 (64bit) OS.

Would very much appreciate some help. Thank you!

Error: control transfer failed: LIBUSB_ERROR_PIPE

I have compiled and installed the library (and followed all required configuration steps) but I'm not able to run the tests. This is the output I see when running seek_test:

Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: init_cam failed
Error accessing camera
Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: control transfer failed: LIBUSB_ERROR_PIPE
Error: control transfer failed: LIBUSB_ERROR_PIPE

Any ideas what could be the issue? I had a look at the code and checked the type of error, it seems that the init commands sent to the camera are not correct. I'm using a SeekThermal CompactXR and running on Ubuntu 18.04

Corrupted frames

I have connected the seek thermal camera to a Raspberry Pi like board running on Ubuntu. I followed all the instructions. However, I am getting corrupted frames like this:

image

image

Board connection:

image

Anyone knows what's going wrong? I dont see any error in the terminal.

Cannot work out image format

Using seek_viewer with the --output argument, this uses OpenCV VideoWriter (and hence gstreamer) to output the frames through a provided gstreamer pipeline. A pipeline such as this should work (on a raspberry):

OUTPUT="appsrc ! queue ! autovideoconvert ! video/x-raw,format=I420 ! omxh264enc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=192.168.1.xxx port=5600 sync=false"

with the client pipeline:

gst-launch-1.0 -v udpsrc port=5600 buffer-size=0 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! queue ! avdec_h264 ! autovideosink sync=false

This is pretty standard gstreamer stuff. However for seek_viewer I cannot get it to work - I just get a green box with the odd flapping pixel. I've tried explicitly converting the output frame to RGB but no luck.

Any ideas? This would be a significant improvement as it allows realtime video over wifi such as would be used in search and rescue etc.

How to get the initial usb command of seek pro

Great project and I have modified the old SeekOFix on Windows with your initial command of seek pro and it works well.
What i want to know is how did you manage to get the right initial command of seek pro ?
just use the USB protocol analyzer or other ways?

temp/raw drop issue

Sorry this might be a bit offtopic but that seems the only place where to discuss...
I just wrote a little QT application that uses libseek-thermal (without flat generated).

bildschirmfoto_2018-06-17_15-42-11

I then pointed the cam's middle point to an area that was stable ~26°C and
the app logged the centerpoint values with an average over 7 values to a file.

I plotted the values over time and that's what I got
seek

That is a drop of about 10°C over 20 minutes. The original SeekThermal App (Android)
does not show me such a drop, it starts just ~1-2°C off and stays quite stable over time.

So the question is what are they doing in their app to compensate for that drop?
I assume they also get only raw values from the sensor and the rest is in-app-pre-processing...
Can this be corrected with a flat? Or are they using such a curve that I plotted and
compensate their readings against it over time (given that the curve characteristics stays consistent...)?

Compact Pro on RPI 3 B LIBUSB_ERROR_TIMEOUT

Hi Maarten,

I'm trying to get the Seek Compact Pro running on a Raspberry Pi 3 B using maverick 1.1.6
but the vision_seek service stops after a few seconds.
timeout for bulk transfer is set to 10000. I tried higher values but with no success.

here is the log for vision_seek:

Displaying service log: vision_seek
-- Logs begin at Thu 2016-11-03 17:16:43 GMT. --
Jun 02 11:58:25 maverick-raspberry systemd[1]: Started Maverick - Seek Thermal Vision.
Jun 02 11:58:25 maverick-raspberry vision_seek.sh[9302]: /srv/maverick/software/libseek-thermal/bin/seek_viewer --fps=7 --scale=1.0 --
colormap=2 --rotate=90 --camtype=seekpro --FFC=/srv/maverick/config/vision/seek_ffc.png -o /srv/maverick/data/vision/vision_seek/seek.avi
Jun 02 11:58:28 maverick-raspberry vision_seek.sh[9302]: Video stream created, dimension: 240x320, fps:7
Jun 02 11:58:59 maverick-raspberry vision_seek.sh[9302]: Error: bulk transfer failed:
LIBUSB_ERROR_TIMEOUT
Jun 02 11:58:59 maverick-raspberry vision_seek.sh[9302]: Error: frame acquisition failed

and the lsusb:

Bus 001 Device 008: ID 289d:0011
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Do you know that the Compact Pro is generally running on a RPI 3 B?
I tried it on a RPI Zero W with the same result.
I hope you can help me with this issue.

Runtime support for different camera types

The difference between test and testpro is:
LibSeek::SeekThermal seek(argc == 2 ? argv[1] : "");
and
LibSeek::SeekThermalPro seek(argc == 2 ? argv[1] : "");

It would be nice to be able to declare seek something like:
LibSeek::Seek seek("pro");

So we don't have to write different code for different models.

Shutter control

Has anyone found out how to manully control the shutter events? What command send to camera?
Flat-field correction happens almost every 15 seconds. With the official Seek SDK, we could disable FFC and execute it manually when it is need (e.g. every 5 minutes, when environmental temperature changes etc.). Having the clicking sound every 15 seconds is really disruptive.

Save to video corrupted

seek_viewer seek_snapshot
corrupted output

When I try to record a video from the seek thermal compact camera, the video stream is corrupted both in file mode and in v4l2 mode. Any idea how to fix this? :)

Unable to compile: cmake reports not find OpenCV even being installed

I followed the instructions and installed the dependencies (for Linux Mint):

sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libopencv-dev

But cmake reports (the relevant part):

-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.
-----------------------------------------------------------------------------
   * OpenCV  <https://opencv.org/>
     Required to handle image processing

-----------------------------------------------------------------------------

libopencv-dev is the correct version.
I added those lines to CMakelists.txt:

find_package(OpenCV)

message(STATUS "OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
message(STATUS "OpenCV_LIBS = ${OpenCV_LIBS}")

getting (the relevant part):

-- OpenCV_INCLUDE_DIRS = /usr/include/opencv;/usr/include
-- OpenCV_LIBS = opencv_videostab;opencv_video;opencv_ts;opencv_superres;opencv_stitching;opencv_photo;opencv_ocl;opencv_objdetect;opencv_ml;opencv_legacy;opencv_imgproc;opencv_highgui;opencv_gpu;opencv_flann;opencv_features2d;opencv_core;opencv_contrib;opencv_calib3d;opencv_videostab;opencv_video;opencv_ts;opencv_superres;opencv_stitching;opencv_photo;opencv_ocl;opencv_objdetect;opencv_ml;opencv_legacy;opencv_imgproc;opencv_highgui;opencv_gpu;opencv_flann;opencv_features2d;opencv_core;opencv_contrib;opencv_calib3d

If I give :

ldconfig -p | grep opencv-dev

I get:

	libopencv_videostab.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4
	libopencv_videostab.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_videostab.so
	libopencv_video.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4
	libopencv_video.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_video.so
	libopencv_ts.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_ts.so.2.4
	libopencv_ts.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_ts.so
	libopencv_superres.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4
	libopencv_superres.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_superres.so
	libopencv_stitching.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4
	libopencv_stitching.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_stitching.so
	libopencv_photo.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4
	libopencv_photo.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_photo.so
	libopencv_ocl.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4
	libopencv_ocl.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_ocl.so
	libopencv_objdetect.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4
	libopencv_objdetect.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so
	libopencv_ml.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4
	libopencv_ml.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_ml.so
	libopencv_legacy.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4
	libopencv_legacy.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_legacy.so
	libopencv_imgproc.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4
	libopencv_imgproc.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so
	libopencv_highgui.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4
	libopencv_highgui.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_highgui.so
	libopencv_gpu.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4
	libopencv_gpu.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_gpu.so
	libopencv_flann.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4
	libopencv_flann.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_flann.so
	libopencv_features2d.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4
	libopencv_features2d.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_features2d.so
	libopencv_core.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4
	libopencv_core.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_core.so
	libopencv_contrib.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4
	libopencv_contrib.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_contrib.so
	libopencv_calib3d.so.2.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4
	libopencv_calib3d.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so

read raw data method?

Hi
I am just practising a little bit with QT and libseek-thermal, but bear with me, I am a quite bloody C++ beginner...
I successfuly created a little app that streams the cam.

...
if(!seekf.read(frame0))
    {
        qDebug() << "no more image...";
        return 1;
    }
    cv::normalize(frame0,frame1, 0, 65536, cv::NORM_MINMAX);
    frame1.convertTo(frame1,CV_8U, 0.00390625);
    for(int i=0;i<img->height();i++)
    {
        memcpy(img->scanLine(i), frame1.row(i).data, img->bytesPerLine());
    }
    lbImage->setPixmap(QPixmap::fromImage(*img));
...

So far that works quite good. But how can I obtain a raw frame that I can play with it?
If I understand correctly seekf.read(frame0) reads already 16bit? greyscale preprocessed frames.
Is there a method to read raw data into a MAT/Array? What I want to do is basically to get the raw min/max values of the 320x240 frame with its corresponding coordinates x/y.

Instructions unclear

going back one directory with cd .. following the cmake command is necessary.
Corrected instructions (that worked for me at least)

cd libseek-thermal
mkdir build
cd build
cmake ../
cd ..
make

seven errors and 1630 alerts

This is another code, release in vs error. the last problem is the driver file , i install the seek scan from the website of seek thermal, how did i slove it

1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------
1> Checking Build System
2>------ 已启动生成: 项目: seek_static, 配置: Debug x64 ------
3>------ 已启动生成: 项目: seek, 配置: Debug x64 ------
2> Building Custom Rule C:/libseek-thermal-temp-info_compact/src/CMakeLists.txt
2>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
4>------ 已启动生成: 项目: seek_create_flat_field, 配置: Debug x64 ------
5>------ 已启动生成: 项目: seek_raw_viewer, 配置: Debug x64 ------
6>------ 已启动生成: 项目: seek_test, 配置: Debug x64 ------
4> Building Custom Rule C:/libseek-thermal-temp-info_compact/examples/CMakeLists.txt
4>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
7>------ 已启动生成: 项目: seek_test_pro, 配置: Debug x64 ------
3> Building Custom Rule C:/libseek-thermal-temp-info_compact/src/CMakeLists.txt
7> Building Custom Rule C:/libseek-thermal-temp-info_compact/examples/CMakeLists.txt
3>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
8>------ 已启动生成: 项目: seek_viewer, 配置: Debug x64 ------
7>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
5> Building Custom Rule C:/libseek-thermal-temp-info_compact/examples/CMakeLists.txt
8> Building Custom Rule C:/libseek-thermal-temp-info_compact/examples/CMakeLists.txt
5>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
8>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
6> Building Custom Rule C:/libseek-thermal-temp-info_compact/examples/CMakeLists.txt
6>cl : 命令行 error D8021: 无效的数值参数“/Wextra”
9>------ 已启动生成: 项目: ALL_BUILD, 配置: Debug x64 ------
9> Building Custom Rule C:/libseek-thermal-temp-info_compact/CMakeLists.txt
========== 生成: 成功 2 个,失败 7 个,最新 0 个,跳过 0 个 ==========

Thermal Seek Pro times out on frame request

Hello, thanks for making this library. Tried to get it running on an ubuntu machine with a seek thermal pro and I'm running into a timeout once it tries to frame. Any ideas?

Here's a link to a gist of the output from test_pro with DEBUG enabled.

Seek Thermal Compact Pro corrupter frames on Jatson TX2

I am trying to use the libseek-thermal library for using my Thermal Compact Pro with NVIDIA Jetson TX2. I have correctly used the library on PC and Raspberry PI with no problems. I have installed the library on Jatson TX2 with the last Jetpack and the frames result to be corrupted. There are three horizontal bands in the lower part of the image
as shown in the attached file.

I have tried to install opencv by hand again but without any result.. I can't figure out which could be the cause. It seems that the buffer data is corrupted. The strange aspect is that the Seek thermal camera (the one with lower resolution works correctly)

Schermata del 2019-03-14 13-14-20_2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.