Hallo TaiJiGong,
meinst Du mit "zu schnell" dass die Kamera noch nicht vollständig fokussiert hat?
Viele Grüße,
Sinter
Sinter hat geschrieben:meinst Du mit "zu schnell" dass die Kamera noch nicht vollständig fokussiert hat?
unsigned short x,y;
init_raw_image_addr();
for(y=CAM_RAW_ROWS; y; y-=2) { //Zeilen
for(x=CAM_RAW_ROWPIX; x; x-=2) { //Spalten
set_raw_pixel( x,y,curveR[get_raw_pixel(x,y)]); //r
set_raw_pixel( x+1,y,curveG1[get_raw_pixel(x+1,y)]); //g1
set_raw_pixel( x,y+1,curveG2[get_raw_pixel(x,y+1)]); //g2
set_raw_pixel( x+1,y+1,curveB[get_raw_pixel(x+1,y+1)]); //b
}
}
#pragma GCC optimize ("-O3")
void curveRGB_apply()
{
// Set pointer to picture raw data in memory
init_raw_image_addr();
unsigned short *curveR = curve_data;
unsigned short *curveG1 = curveR + CURVE_SIZE;
unsigned short *curveG2 = curveG1 + CURVE_SIZE;
unsigned short *curveB = curveG2 + CURVE_SIZE;
unsigned short x,y;
// Loop through picture rows
for(y=CAM_RAW_ROWS; y; y-=2)
{ //Zeilen
for(x=CAM_RAW_ROWPIX; x; x-=2)
{ //Spalten
#if cam_CFAPattern==0x02010100 // Red Green Green Blue
set_raw_pixel( x, y, curveR[ get_raw_pixel( x, y ) ]); //r
set_raw_pixel( x+1,y, curveG1[ get_raw_pixel( x+1, y ) ]); //g1
set_raw_pixel( x, y+1,curveG2[ get_raw_pixel( x, y+1) ]); //g2
set_raw_pixel( x+1,y+1,curveB[ get_raw_pixel( x+1, y+1) ]); //b
#elif cam_CFAPattern==0x01000201 // Green Blue Red Green
set_raw_pixel( x, y, curveG1[ get_raw_pixel( x, y ) ]);
set_raw_pixel( x+1,y, curveB[ get_raw_pixel( x+1, y ) ]);
set_raw_pixel( x, y+1,curveR[ get_raw_pixel( x, y+1) ]);
set_raw_pixel( x+1,y+1,curveG2[ get_raw_pixel( x+1, y+1) ]);
#endif
}
}
}
#pragma GCC reset_options
Sinter hat geschrieben:ist meine Vermutung korrekt, dass deine 30 Sekunden für den Bildfilter weitgehend von der Pixelanzahl (und natürlich Kamera-Prozessor) abhängen?
Vielleicht könnte jemand auch mal ins angehängte Log schauen ob die Erzeugungszeiten ok sind.
In einem gewissen Grad währe es möglich, aber sobald es nicht um eine Farbraumdrehung geht. Ein weiteres Problem ist die Verarbeitungsgeschwindigkeit. Die Kurven sind nicht für eine permanente Anwendung gedacht.Könnte man mit einer Tonwertkurve auch typische Fehlfarben der Kamera beseitigen?
if (conf.bad_pixel_removal) patch_bad_pixels();
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste