Hallo,
auf meiner Oberfläche habe ich derzeit eine ScrollArea mit einem Label als Child, welches eine Pixmap zeigt. Letztere ist ein hochauflösender Scan eines Dias in 100% Größe, daher ist die ScrollArea Pflicht.
Auf diesem Bild wird via Bildverarbeitung ein bestimmtes Feature gesucht und das Ergebnis (die gefundene Position) soll dann in Form eines kleinen (Faden)Kreuzes angezeigt werden.
Wie kann ich so etwas bewerkstelligen?
Viele Grüße
a.
PS: Ich arbeite zwar mit PyQt, aber da ist ja nur die Syntax etwas anders.
Bild anzeigen und Markierung drüberlegen
-
antimatter
- Beiträge: 5
- Registriert: 20. November 2010 18:07
das Dia liegt vermutlich as QImage vor und du machst vermutlich irgendwo sowas hier:
dann könnntest du das gefundene feature zB so draufzaubern:
(code uncompiliert .. als Idee)
Code: Alles auswählen
QLabel * k = new QLabel();
QImage * diaimg = new QImage("pfadzudia");
...
k->setPixmap(QPixmap::fromImage(diaimg); Code: Alles auswählen
public slots:
void maleKreuz(QRect r /* border ums feature*/)
{
// kopie vom bild
QImage m(*diaimg);
// kreuz
QLineF hline(0, (r.y()+r.height())/2,
r.width(), (r.y()+r.height())/2);
QLineF vline((r.x()+r.width())/2, 0,
(r.x()+r.width())/2, r.height());
// male auf bild
QPainter painter(&m);
painter.drawLine(hline);
painter.drawLine(vline);
painter.end();
// setze dargestelltes Bild neu:
label->setPixmap(QPixmap::fromImage(m));
}