Better text contrast of pixel brightness values in Qt window
authorJan Gaura <jan.gaura@gmail.com>
Wed, 14 Mar 2018 12:27:11 +0000 (13:27 +0100)
committerJan Gaura <jan.gaura@gmail.com>
Wed, 14 Mar 2018 12:27:11 +0000 (13:27 +0100)
This offsets text brightness of pixel brightness values
by offsetting it by 127 to the curent pixel value.
The text is now readable even if pixels are black.

modules/highgui/src/window_QT.cpp

index 68d91a2..5faf530 100644 (file)
@@ -3094,6 +3094,11 @@ void DefaultViewPort::drawImgRegion(QPainter *painter)
             if (nbChannelOriginImage==CV_8UC1)
             {
                 QString val = tr("%1").arg(qRed(rgbValue));
+                int pixel_brightness_value = qRed(rgbValue);
+                int text_brightness_value = 0;
+
+                text_brightness_value = pixel_brightness_value > 127 ? pixel_brightness_value - 127 : 127 + pixel_brightness_value;
+                painter->setPen(QPen(QColor(text_brightness_value, text_brightness_value, text_brightness_value)));
                 painter->drawText(QRect(pos_in_view.x(),pos_in_view.y(),pixel_width,pixel_height),
                     Qt::AlignCenter, val);
             }