Kontrast erhöhen
Verfasst: 6. Mai 2010 09:49
Hi
Ich will ein mittels eines Schiebereglers den Kontrast ein Bildes erhöhen bzw. verkleinern.
Ich habe mir gedacht, dass ich aus dem bild jeden Pixel auslese und dann die helligkeit bzw. den kontrast manipuliere.
Ich habe dazu folgenen Code als Beispiel an einem Bild und einem 10x10 Pixel Ausschnitt geschrieben.
Das Problem ist, dass nicht passiert. Das heißt ich müsste ja eigentlich ein 10x10 großen Ausschnitt im bild heller gemacht haben. Ich kann aber leider nix auf dem ausgegebenen Bild Image_ erkennen.
Kann mir da vllt. jemand weiterhelfen?
Ich will ein mittels eines Schiebereglers den Kontrast ein Bildes erhöhen bzw. verkleinern.
Ich habe mir gedacht, dass ich aus dem bild jeden Pixel auslese und dann die helligkeit bzw. den kontrast manipuliere.
Ich habe dazu folgenen Code als Beispiel an einem Bild und einem 10x10 Pixel Ausschnitt geschrieben.
Code: Alles auswählen
void MainWindow::Load(void)
{
Image_.~QImage();
FilePath_ = QFileDialog::getOpenFileName(
0,
"Durchsuchen",
"D:/esch/C++/Kantendetektion",
"Images (*.*)",
0,
0);
Image_ = QImage(FilePath_);
if(Image_.isNull())
{
return;
}
for (int y=0;y<10;y++)
{
for(int x=0;x<10;x++)
{
QRgb q = Image_.pixel(x,y);
QColor qc ( q );
qc.lighter(120);
QRgb qnew = qRgb( qc.red(), qc.green(), qc.blue());
Image_.setPixel( x, y, qnew );
}
}
Scene_= new QGraphicsScene;
Scene_->addPixmap(QPixmap::fromImage(Image_));
View_= new QGraphicsView;
View_->setScene(Scene_);
View_->scale(0.4, 0.4);
View_->show();
}
Kann mir da vllt. jemand weiterhelfen?