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?