温度+USBカメラ画像 ロガー
Revision | 7552607fc8c340fdbea904251c98120b675fe012 (tree) |
---|---|
Zeit | 2013-03-16 13:03:43 |
Autor | alucky4416 <alucky4416@user...> |
Commiter | alucky4416 |
CHG: overlay text Timestamp and Tempr, Humid to SaveImage
@@ -8,6 +8,12 @@ ImageView::ImageView( QWidget *parent ) : QGraphicsView( parent ) | ||
8 | 8 | pixmapItem = NULL; |
9 | 9 | captureInterval = 0.1; // 0.1 is 100ms |
10 | 10 | scaleValue = 1.0; |
11 | + | |
12 | + float hscale = 0.5f; | |
13 | + float vscale = 0.5f; | |
14 | + float italicscale = 0.0f; | |
15 | + int thickness = 1; | |
16 | + cvInitFont (&dfont, CV_FONT_HERSHEY_SIMPLEX , hscale, vscale, italicscale, thickness); | |
11 | 17 | } |
12 | 18 | // ------------------------------------------------------------------------------------------------ |
13 | 19 |
@@ -120,11 +126,19 @@ void ImageView::scaleXY( double d ) | ||
120 | 126 | } |
121 | 127 | // ------------------------------------------------------------------------------------------------ |
122 | 128 | // 最新画像をファイルへ保存 |
123 | -void ImageView::saveCurrentImage(QString filepath) | |
129 | +void ImageView::saveCurrentImage(QString filepath, QString overlay_text) | |
124 | 130 | { |
125 | 131 | if (imageCapture==NULL ) return; |
126 | 132 | if (filepath.isEmpty()) return; |
127 | 133 | |
128 | - QByteArray tmp = filepath.toLocal8Bit(); | |
129 | - cvSaveImage(tmp.constData(), imageCapture->GetCurrentIplImage()); | |
134 | + if (overlay_text.isEmpty()) { | |
135 | + ; | |
136 | + } else { | |
137 | + QByteArray msg = overlay_text.toLocal8Bit(); | |
138 | + // Overley text | |
139 | + cvPutText(imageCapture->GetCurrentIplImage(), msg.constData(), cvPoint(20, 20), &dfont, CV_RGB(0, 255, 0)); | |
140 | + } | |
141 | + | |
142 | + QByteArray tmppath = filepath.toLocal8Bit(); | |
143 | + cvSaveImage(tmppath.constData(), imageCapture->GetCurrentIplImage()); | |
130 | 144 | } |
@@ -8,6 +8,7 @@ | ||
8 | 8 | #include <QtGui/QGraphicsPixmapItem> |
9 | 9 | #include <QtGui/QFileDialog> |
10 | 10 | #include <QTimer> |
11 | + | |
11 | 12 | #include "ImageCapture.h" |
12 | 13 | // #include "OtToolBar.h" |
13 | 14 |
@@ -28,7 +29,7 @@ public: | ||
28 | 29 | double scaleValue; |
29 | 30 | |
30 | 31 | void setCapture( ImageCapture* _capture ); |
31 | - void saveCurrentImage(QString filepath); | |
32 | + void saveCurrentImage(QString filepath, QString overlay_text); | |
32 | 33 | |
33 | 34 | #if 0 |
34 | 35 | OtToolBar* getToolBar( QWidget* parent ); |
@@ -46,6 +47,8 @@ public slots: | ||
46 | 47 | private: |
47 | 48 | void showQImage( QImage* qimage ); |
48 | 49 | void scaleXY( double d ); |
50 | + | |
51 | + CvFont dfont; | |
49 | 52 | }; |
50 | 53 | // ------------------------------------------------------------------------------------------------ |
51 | 54 |
@@ -23,8 +23,8 @@ DAQThread::DAQThread(QObject *parent) : | ||
23 | 23 | this, SLOT(slotLogEnded(int))); |
24 | 24 | connect(logTh, SIGNAL(ChangeLogFilename(QString)), |
25 | 25 | this, SIGNAL(ChangeLogFilename(QString))); |
26 | - connect(logTh, SIGNAL(SaveCurrentImage(QString)), | |
27 | - this, SIGNAL(SaveCurrentImage(QString))); | |
26 | + connect(logTh, SIGNAL(SaveCurrentImage(QString, QString)), | |
27 | + this, SIGNAL(SaveCurrentImage(QString, QString))); | |
28 | 28 | |
29 | 29 | // logTh start |
30 | 30 | logTh->start(); |
@@ -19,7 +19,7 @@ signals: | ||
19 | 19 | void LogStop(); |
20 | 20 | void GetData(QDateTime timestamp, double tmpr, double humid); |
21 | 21 | void ChangeLogFilename(QString filename); |
22 | - void SaveCurrentImage(QString imgfilepath); | |
22 | + void SaveCurrentImage(QString imgfilepath, QString overlay_text); | |
23 | 23 | void LogStarted(); |
24 | 24 | void LogEnded(int status); // status 0 is success, !0 is Fail |
25 | 25 |
@@ -137,7 +137,8 @@ void LogThread::run() | ||
137 | 137 | // qDebug() << "timestamp: " << timestamp.toString("yyyy/MM/dd hh:mm:ss") << "," << "tmpr = " << event.tmpr << ", humid = " << event.humid; |
138 | 138 | out << timestamp.toString("yyyy/MM/dd hh:mm") << ", " << event.tmpr << ", " << event.humid << endl; |
139 | 139 | imgfilepath = logsavefolderpath + QDir::separator() + "USBRHLog_" + timestamp.toString("yyyyMMddhhmm") + ".JPG"; |
140 | - emit SaveCurrentImage(imgfilepath); | |
140 | + QString text = timestamp.toString("yyyy/MM/dd hh:mm ") + QString("Tempr = %1 'C, Humid = %2 %").arg(event.tmpr, 0, 'f', 2).arg(event.humid, 0, 'f', 2); | |
141 | + emit SaveCurrentImage(imgfilepath, text); | |
141 | 142 | prev_Minute = timestamp.time().minute(); |
142 | 143 | } |
143 | 144 | } |
@@ -27,7 +27,7 @@ signals: | ||
27 | 27 | void LogStarted(); |
28 | 28 | void LogEnded(int status); // status 0 is success, !0 is Fail |
29 | 29 | void ChangeLogFilename(QString filename); |
30 | - void SaveCurrentImage(QString imgfilepath); | |
30 | + void SaveCurrentImage(QString imgfilepath, QString overlay_text); | |
31 | 31 | |
32 | 32 | public slots: |
33 | 33 | void slotLogStart(QString logfolderpath); |
@@ -55,8 +55,8 @@ MainWindow::MainWindow(QWidget *parent) : | ||
55 | 55 | connect(daqTh, SIGNAL(ChangeLogFilename(QString)), |
56 | 56 | this, SLOT(slotChangeLogFilename(QString))); |
57 | 57 | |
58 | - connect(daqTh, SIGNAL(SaveCurrentImage(QString)), | |
59 | - this, SLOT(slotSaveCurrentImage(QString))); | |
58 | + connect(daqTh, SIGNAL(SaveCurrentImage(QString, QString)), | |
59 | + this, SLOT(slotSaveCurrentImage(QString, QString))); | |
60 | 60 | |
61 | 61 | imageCapture = new ImageCapture( 0, 640, 480 ); |
62 | 62 | ui->ImgView->setCapture( imageCapture ); |
@@ -122,9 +122,9 @@ void MainWindow::slotChangeLogFilename(QString filename) | ||
122 | 122 | label_statusbar->setText(QString(tr("logfile: %1")).arg(filename)); |
123 | 123 | } |
124 | 124 | |
125 | -void MainWindow::slotSaveCurrentImage(QString imgfilepath) | |
125 | +void MainWindow::slotSaveCurrentImage(QString imgfilepath, QString overlay_text) | |
126 | 126 | { |
127 | - ui->ImgView->saveCurrentImage(imgfilepath); | |
127 | + ui->ImgView->saveCurrentImage(imgfilepath, overlay_text); | |
128 | 128 | } |
129 | 129 | |
130 | 130 | void MainWindow::slotLogStarted() |
@@ -29,7 +29,7 @@ signals: | ||
29 | 29 | private slots: |
30 | 30 | void slotGetData(QDateTime, double, double); |
31 | 31 | void slotChangeLogFilename(QString); |
32 | - void slotSaveCurrentImage(QString imgfilepath); | |
32 | + void slotSaveCurrentImage(QString imgfilepath, QString overlay_text); | |
33 | 33 | void slotLogStarted(); |
34 | 34 | void slotLogEnded(int status); |
35 | 35 |
@@ -7,7 +7,7 @@ | ||
7 | 7 | <x>0</x> |
8 | 8 | <y>0</y> |
9 | 9 | <width>675</width> |
10 | - <height>646</height> | |
10 | + <height>681</height> | |
11 | 11 | </rect> |
12 | 12 | </property> |
13 | 13 | <property name="windowTitle"> |
@@ -215,7 +215,7 @@ | ||
215 | 215 | <x>10</x> |
216 | 216 | <y>140</y> |
217 | 217 | <width>651</width> |
218 | - <height>461</height> | |
218 | + <height>481</height> | |
219 | 219 | </rect> |
220 | 220 | </property> |
221 | 221 | </widget> |