Is it possible to display the colors of thermal images as fixed colors based on temperature?
Hello.
Is it possible to display the colors of thermal images as fixed colors based on temperature?
I tested thermal images and found that even when capturing the same object, the colors appear differently depending on the maximum and minimum temperatures within the same frame.
For example, when capturing a keyboard, parts of it initially appear red, but when a person's hand, which is hotter, is also captured, the keyboard color changes to purple.
Is it possible to lock colors in MSDK or DJI Pilot2? Or is there an aircraft that supports this feature?
Thank you.
Agent comment from YIGUI LIU in Zendesk ticket #153178:
Dear Developer,
The Pilot 2 APP is not integrated with MSDK, so we are not aware of its implementation method. You can directly contact the corresponding product support team for inquiries at [email protected].
Currently, MSDK provides KeyThermalPalette and KeyThermalIsothermEnabled, which are keys related to the display of infrared colors. You can check if they meet your needs.
- Setting KeyThermalPalette will change the color palette of the infrared lens. The colors in thermal images are used to represent temperatures, and the temperature range in the frame will be mapped to 256 color levels, which are displayed in 8-bit JPEG images and MP4 videos. Each palette corresponds to different color levels. MSDK does not provide a corresponding table of the relationship between color levels and temperatures.
- Setting KeyThermalIsothermEnabled will enable or disable the isotherm function. Enabling the isotherm function can more intuitively show objects within a specified temperature range. The temperature range is set through two thresholds: high temperature and low temperature. When isotherms are disabled, all 256 values (8-bit) are used for the temperature histogram of the scene. When isotherms are enabled, only 128 values (0-127) are linearly mapped to temperatures. Then, three color intervals (128-175), (176-223), and (224-255) are mapped to user-defined temperatures to highlight them to the user. Using some palettes (such as RAINBOW) will generate grayscale thermal images, and red, blue, or green will be used to highlight three specific temperatures.
For more related tutorials: https://sdk-forum.dji.net/hc/en-us/articles/9125637605913-Chapter-9-Camera API documentation: https://developer.dji.com/api-reference-v5/android-api/Components/IKeyManager/Key_Camera_CameraKey.html
Best Regards,
DJI Innovations SDK Technical Support Team
°°°
If temperatures are mapped linearly, is it impossible to assign a specific temperature to a specific color?
For example, in a rainbow palette, let's say an object at 30 degrees appears blue and an object at 40 degrees appears red.
If a 60-degree object enters the screen, the 40-degree object will appear blue.
I'm mapping thermal images acquired from drones onto a map, but I'm having trouble with the colors appearing differently even for the same terrain.
Agent comment from YIGUI LIU in Zendesk ticket #153178:
Dear Developer,
Will the same issue occur in the Pilot 2 APP? It seems that this problem of yours cannot be solved from the perspective of MSDK.
Best Regards,
DJI Innovations SDK Technical Support Team
°°°