Filter löschen
Filter löschen

How can I measure the temperature of each pixel?

5 Ansichten (letzte 30 Tage)
Mokhtar
Mokhtar am 14 Mär. 2019
Kommentiert: Mokhtar am 20 Mär. 2019
How can I measure the temperature for each pixel from a thermography image. I'm attaching an example of one of the images I took.
Can anyone help me?
Thanks.
  5 Kommentare
Mokhtar
Mokhtar am 14 Mär. 2019
Bearbeitet: Mokhtar am 14 Mär. 2019
I didn't quite understand your point but here is an example of an original picture taken using FLIR thermography camera.
Please let me know if you need more info and thank you so much for the prompt response.
Rik
Rik am 14 Mär. 2019
Look at the extention of that file: fcf is not a normal image file. The temperature scale you can see in the program is probably encoded in that file. You can attach it as a file (you might need to zip it first).

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 18 Mär. 2019
Of course it's better to use the actual image if you have one that has actual temperature data in it. But if you don't, like you have the cheapest FLIR one phone camera, then you can extract out the colorbar and use it to convert to temperature. See attached demo.
00_Screenshot.png
  3 Kommentare
Image Analyst
Image Analyst am 19 Mär. 2019
The camera or software you're using will most likely put the color bar in the same location regardless what is happening in your scene. Therefore you can determine the location with any program (or imtool in MATLAB) and use those coordinates to crop out the colorbar.
Then everything to the left of the colorbar will be your image so crop it out
rgbImage = rgbImage(:, 1:leftColumnOfColorBar-1, :);
Mokhtar
Mokhtar am 20 Mär. 2019
Thank you so much Image Analyst, I managed to crop the image but I think the code couldn't read the colors of the area of interest. As you can see in the original image, there is a contrast between the cloro of the blade and the two areas of interest (kind of brighter). However, the code recognises everything as the same grey degree. This is what I got:
missing locations.PNG
Any idea what is the reason behind this? and is there a way to fix it?
Thanks again.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Guillaume
Guillaume am 14 Mär. 2019
Bearbeitet: Guillaume am 14 Mär. 2019
You can't. Your thermography image is not the raw image from the sensor. It's a processed image that associate false colour to the raw signal.
Your software can convert the raw signal into temperature because:
  • It knows the characteristics of the lens (in particular its absorption)
  • It knows the exposure of your image
  • It knows the response of the sensor vs wavelength
  • probably some more dependencies that I've forgotten
Even if you had the raw image from the sensor, unless you know all of the above, you won't be able to convert to temperature. To get true temperature you also need to know the emissivity of the object you're imaging.
  6 Kommentare
Mokhtar
Mokhtar am 18 Mär. 2019
Hi,
I copied the code and changed the intensity values according to the image I am trying to test. I then ran the code but I couldn't find any outcome. It just keep typing the name of the image (test)> I am sorry again for my lack of knowledge in Matlab but can you tell me where can I locate the outcome(The number of pixels that have a specific range of temperature)?
Thanks.
matlab_no_outcome.PNG
Guillaume
Guillaume am 18 Mär. 2019
temperature is the array (the same size as the image) that contains the temperature of each pixel. temperature(1, 1) is the temperature of the upper-left pixel. temperature(end, end) is the temperature of the bottom-right pixel.

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by