Skip to content

Commit

Permalink
fixed minPoint maxPoint mapping + added maxpoint to VideoRoi
Browse files Browse the repository at this point in the history
  • Loading branch information
2ynn authored and kekiefer committed Sep 24, 2020
1 parent 661a519 commit 36b8d17
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 7 deletions.
11 changes: 10 additions & 1 deletion inc/dataformatter.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class DataFormatter : public QObject

void FindMinMax(const uvc_frame_t *input, QPoint &minPoint, uint16_t &minVal, QPoint &maxPoint, uint16_t &maxVal) const;
void AutoGain(uvc_frame_t *input_output);
void FixedGain(uvc_frame_t *input_output, ushort minval, ushort maxval);
void FixedGain(uvc_frame_t *input_output, QPoint minpoint, ushort minval, QPoint maxpoint, ushort maxval);
void Colorize(const uvc_frame_t *input, QVideoFrame &output) const;

static const colormap_t* getPalette(Palette palette);
Expand All @@ -36,16 +36,25 @@ class DataFormatter : public QObject
Q_PROPERTY(ushort maxVal READ getMaxVal NOTIFY maxValChanged)
ushort getMaxVal() const { return m_maxVal; }

Q_PROPERTY(QPoint minPoint READ getMinPoint NOTIFY minPointChanged)
QPoint getMinPoint() const { return m_minPoint; }

Q_PROPERTY(QPoint maxPoint READ getMaxPoint NOTIFY maxPointChanged)
QPoint getMaxPoint() const { return m_maxPoint; }

signals:

void psuedocolorPaletteChanged(Palette val);
void minValChanged(ushort val);
void maxValChanged(ushort val);
void minPointChanged(QPoint point);
void maxPointChanged(QPoint point);

private:

Palette m_pseudocolor_palette;
ushort m_minVal, m_maxVal;
QPoint m_minPoint, m_maxPoint;
};

#endif // DATAFORMATTER_H
11 changes: 11 additions & 0 deletions qml/controls/VideoRoi.qml
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,16 @@ Item {
}
}
}
Rectangle {
id: maxpoint
x: acq.dataFormatter.maxPoint.x * (scaledvid.width / videoSize.width)
y: acq.dataFormatter.maxPoint.y * (scaledvid.width / videoSize.width)
color: "#80ff0000"
border.color: "#80000000"
width: roi.width * (scaledvid.width / videoSize.width)
height: roi.height * (scaledvid.height / videoSize.height)
visible: false

}
}
}
24 changes: 18 additions & 6 deletions src/dataformatter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ void DataFormatter::FindMinMax(const uvc_frame_t *input, QPoint &minPoint, uint1
if (val > maxVal)
{
maxVal = val;
maxPoint.setX(i);
maxPoint.setY(j);
maxPoint.setX(j);
maxPoint.setY(i);
}

if (val < minVal)
{
minVal = val;
minPoint.setX(i);
minPoint.setY(j);
minPoint.setX(j);
minPoint.setY(i);
}
}
}
Expand All @@ -77,7 +77,7 @@ void DataFormatter::AutoGain(uvc_frame_t *input_output)
uint16_t minval = 0, maxval = 0;
QPoint minpoint, maxpoint;
FindMinMax(input_output, minpoint, minval, maxpoint, maxval);
FixedGain(input_output, minval, maxval);
FixedGain(input_output, minpoint, minval, maxpoint, maxval);

/*
Ptr<CLAHE> clahe = createCLAHE();
Expand All @@ -90,7 +90,7 @@ void DataFormatter::AutoGain(uvc_frame_t *input_output)
*/
}

void DataFormatter::FixedGain(uvc_frame_t *input_output, ushort minval, ushort maxval)
void DataFormatter::FixedGain(uvc_frame_t *input_output, QPoint minpoint, ushort minval, QPoint maxpoint, ushort maxval)
{
uint8_t bytes_per_pixel = 0;

Expand Down Expand Up @@ -143,6 +143,18 @@ void DataFormatter::FixedGain(uvc_frame_t *input_output, ushort minval, ushort m
maxValChanged(maxval);
}

if (m_minPoint != minpoint)
{
m_minPoint = minpoint;
minPointChanged(minpoint);
}

if (m_maxPoint != maxpoint)
{
m_maxPoint = maxpoint;
maxPointChanged(maxpoint);
}

}

void DataFormatter::Colorize(const uvc_frame_t *input, QVideoFrame &output) const
Expand Down

0 comments on commit 36b8d17

Please sign in to comment.