Python Software to use the Topdon TC001 Thermal Camera on Linux and the Raspberry Pi. It may work with other similar cameras! Please feed back if it does!
Huge kudos to LeoDJ on the EEVBlog forum for reverse engineering the image format from these kind of cameras (InfiRay P2 Pro) to get the raw temperature data! https://www.eevblog.com/forum/thermal-imaging/infiray-and-their-p2-pro-discussion/200/ Check out Leo's Github here: https://github.com/LeoDJ/P2Pro-Viewer/tree/main
This is a quick and dirty Python implimentation of Thermal Camera software for the Topdon TC001! (https://www.amazon.co.uk/dp/B0BBRBMZ58) No commands are sent the the camera, instead, we take the raw video feed, do some openCV magic, and display a nice heatmap along with relevant temperature points highlighted.
This program, and associated information is Open Source (see Licence), but if you have gotten value from these kinds of projects and think they are worth something, please consider donating: https://paypal.me/leslaboratory?locale.x=en_GB
This readme is accompanied by youtube videos. Visit my Youtube Channel at: https://www.youtube.com/leslaboratory
The video is here: https://youtu.be/PiVwZoQ8_jQ
Tested on Debian all features are working correctly This has been tested on the Pi However a number of workarounds are implemented! Seemingly there are bugs in the compiled version of openCV that ships with the Pi!!
The following features have been implemented:
The current settings are displayed in a box at the top left of the screen (The HUD):
Python3 OpenCV Must be installed:
Run: sudo apt-get install python3-opencv
In src you will find two programs:
tc001-RAW.py Just demonstrates how to grab raw frames from the Thermal Camera, a starting point if you want to code your own app.
tc001v4.2.py The main program!
To run it plug in the thermal camera and run: v4l2-ctl --list-devices to list the devices on the system. You will need its device number.
Assuming the device number is 0 simply issue: python3 tc001v4.2.py --device 0
Note This is in Alpha. No error checking has been implemented yet! So if the program tries to start, then quits, either a camera is not connected, or you have entered the wrong device number.
Error checking will be implemented after I refactor and optimize the code!
a z: Increase/Decrease Blur
s x: Floating High and Low Temp Label Threshold'
d c: Change Interpolated scale.(Note: This will not change the window size on the Pi!)
f v: Contrast
q w: Fullscreen Windowed. (Note: Going back to windowed does not seem to work on the Pi!)
r t: Record and Stop
m : Cycle through ColorMaps
h : Toggle HUD