Ich versuche einfach nur die tatsächlichen Temperaturwerte der Kamera in C# abzugreifen, aber aus irgendeinem Grund zeigen sowohl das TemperatureImage-Array als auch die Min/Max-Statistik nur Werte im Bereich 28-30°C an, egal ob die Kamera auf eine 16 Grad kalte Außenwand oder eine 50 Grad heiße Kaffeetasse gerichtet ist. In BrickV kommen die Werte dagegen richtig raus. Die verfügbaren Code-Beispiele beziehen sich leider nur auf den high contrast mode. Daher bin ich nicht ganz sicher, ob mein Setup so richtig ist:
void init() {
ipcon = new IPConnection();
ti = new BrickletThermalImaging("Jt4", ipcon);
ipcon.Connect("localhost", 4223);
ti.SetImageTransferConfig(
BrickletThermalImaging.IMAGE_TRANSFER_CALLBACK_TEMPERATURE_IMAGE);
ti.SetSpotmeterConfig(new byte[]{0, 0, 79, 59});
ti.SetResolution(BrickletThermalImaging.RESOLUTION_0_TO_655_KELVIN);
ti.TemperatureImageCallback += TemperatureImageCallback;
}
void TemperatureImageCallback(BrickletThermalImaging sender, int[] image) {
int[] temperatureImage = image;
int[] stats; int[] temp; byte res; byte ffcStatus; bool[] warn;
sender.GetStatistics(out stats, out temp, out res, out ffcStatus, out warn);
//image + stats Werte immer ca 28000-30000
}