fix:
1、配置页面3; 2、resononNirImager的bug修复;
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
#include "AppSettings.h"
|
#include "AppSettings.h"
|
||||||
|
|
||||||
const QString AppSettings::kDefaultDataFolder = QStringLiteral("C:\\HPPA_image");
|
const QString AppSettings::kDefaultDataFolder = QStringLiteral("C:\\HPPA_image");
|
||||||
|
const QString AppSettings::kDefaultFileName = QStringLiteral("test_image");
|
||||||
|
|
||||||
AppSettings::AppSettings()
|
AppSettings::AppSettings()
|
||||||
: m_settings(QSettings::IniFormat, QSettings::UserScope,
|
: m_settings(QSettings::IniFormat, QSettings::UserScope,
|
||||||
@ -23,3 +24,12 @@ void AppSettings::setDataFolder(const QString& path)
|
|||||||
{
|
{
|
||||||
m_settings.setValue("General/DataFolder", path);
|
m_settings.setValue("General/DataFolder", path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString AppSettings::fileName() const
|
||||||
|
{
|
||||||
|
return m_settings.value("General/FileName", kDefaultFileName).toString();
|
||||||
|
}
|
||||||
|
void AppSettings::setFileName(const QString& path)
|
||||||
|
{
|
||||||
|
m_settings.setValue("General/FileName", path);
|
||||||
|
}
|
||||||
|
|||||||
@ -12,6 +12,8 @@ public:
|
|||||||
QString dataFolder() const;
|
QString dataFolder() const;
|
||||||
void setDataFolder(const QString& path);
|
void setDataFolder(const QString& path);
|
||||||
|
|
||||||
|
QString fileName() const;
|
||||||
|
void setFileName(const QString& path);
|
||||||
// 在此处添加更多参数的 getter/setter ...
|
// 在此处添加更多参数的 getter/setter ...
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -23,4 +25,5 @@ private:
|
|||||||
|
|
||||||
// 默认值
|
// 默认值
|
||||||
static const QString kDefaultDataFolder;
|
static const QString kDefaultDataFolder;
|
||||||
|
static const QString kDefaultFileName;
|
||||||
};
|
};
|
||||||
|
|||||||
46
HPPA/FileNameLineEdit.cpp
Normal file
46
HPPA/FileNameLineEdit.cpp
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#include "FileNameLineEdit.h"
|
||||||
|
|
||||||
|
FileNameLineEdit::FileNameLineEdit(QWidget* parent)
|
||||||
|
: QLineEdit(parent)
|
||||||
|
{
|
||||||
|
setText(AppSettings::instance().fileName());
|
||||||
|
connect(this, &QLineEdit::textChanged, this, &FileNameLineEdit::onTextChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FileNameLineEdit::keyPressEvent(QKeyEvent* event)
|
||||||
|
{
|
||||||
|
if (event->key() == Qt::Key_Space)
|
||||||
|
{
|
||||||
|
event->ignore();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QLineEdit::keyPressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FileNameLineEdit::inputMethodEvent(QInputMethodEvent* event)
|
||||||
|
{
|
||||||
|
QString commitString = event->commitString();
|
||||||
|
if (commitString.contains(' '))
|
||||||
|
{
|
||||||
|
commitString.remove(' ');
|
||||||
|
QInputMethodEvent filtered(event->preeditString(), event->attributes());
|
||||||
|
filtered.setCommitString(commitString);
|
||||||
|
QLineEdit::inputMethodEvent(&filtered);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QLineEdit::inputMethodEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FileNameLineEdit::onTextChanged(const QString& text)
|
||||||
|
{
|
||||||
|
QString cleaned = text;
|
||||||
|
if (cleaned.contains(' '))
|
||||||
|
{
|
||||||
|
int pos = cursorPosition();
|
||||||
|
cleaned.remove(' ');
|
||||||
|
setText(cleaned);
|
||||||
|
setCursorPosition(qMin(pos, cleaned.length()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
AppSettings::instance().setFileName(cleaned);
|
||||||
|
}
|
||||||
21
HPPA/FileNameLineEdit.h
Normal file
21
HPPA/FileNameLineEdit.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QLineEdit>
|
||||||
|
#include <QKeyEvent>
|
||||||
|
#include "AppSettings.h"
|
||||||
|
|
||||||
|
class FileNameLineEdit : public QLineEdit
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit FileNameLineEdit(QWidget* parent = nullptr);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void keyPressEvent(QKeyEvent* event) override;
|
||||||
|
|
||||||
|
void inputMethodEvent(QInputMethodEvent* event) override;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onTextChanged(const QString& text);
|
||||||
|
};
|
||||||
@ -630,10 +630,8 @@ void HPPA::initMenubarToolbar()
|
|||||||
QAction* action = ui.mainToolBar->insertWidget(ui.action_start_recording, frame_number);
|
QAction* action = ui.mainToolBar->insertWidget(ui.action_start_recording, frame_number);
|
||||||
frame_number->setEnabled(false);
|
frame_number->setEnabled(false);
|
||||||
|
|
||||||
m_FilenameLineEdit = new QLineEdit(ui.mainToolBar);
|
m_FilenameLineEdit = new FileNameLineEdit(ui.mainToolBar);
|
||||||
m_FilenameLineEdit->setStyleSheet("QLineEdit{background-color:rgb(255,255,255);}");
|
|
||||||
m_FilenameLineEdit->setMaximumWidth(100);
|
m_FilenameLineEdit->setMaximumWidth(100);
|
||||||
m_FilenameLineEdit->setText("tmp_image");
|
|
||||||
m_FilenameLineEdit->setStyleSheet(R"(
|
m_FilenameLineEdit->setStyleSheet(R"(
|
||||||
QLineEdit {
|
QLineEdit {
|
||||||
background-color: #142D7F;
|
background-color: #142D7F;
|
||||||
@ -1267,10 +1265,7 @@ void HPPA::onStartRecordStep1()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//判断是否覆盖存在的文件
|
//判断是否覆盖存在的文件
|
||||||
FileOperation* fileOperation = new FileOperation();
|
string imgPath = (AppSettings::instance().dataFolder() + QDir::separator() + AppSettings::instance().fileName()).toStdString();
|
||||||
string directory = fileOperation->getDirectoryFromString();
|
|
||||||
//string imgPath = directory + "\\tmp_image";
|
|
||||||
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString();
|
|
||||||
string x_location = removeFileExtension(imgPath) + "_x_location.pos";
|
string x_location = removeFileExtension(imgPath) + "_x_location.pos";
|
||||||
|
|
||||||
m_RecordState += 1;
|
m_RecordState += 1;
|
||||||
@ -1309,8 +1304,7 @@ void HPPA::onStartRecordStep1()
|
|||||||
//m_imageViewerTabWidget->clear();
|
//m_imageViewerTabWidget->clear();
|
||||||
removeAllLayersInRasterGroup();
|
removeAllLayersInRasterGroup();
|
||||||
|
|
||||||
m_Imager->setFileName2Save(imgPath);
|
emit updateRecordingFileInfoSignal(AppSettings::instance().dataFolder(), AppSettings::instance().fileName(), this->frame_number->text().toInt());
|
||||||
m_Imager->setFrameNumber(this->frame_number->text().toInt());
|
|
||||||
emit StartRecordSignal();//发射开始采集信号
|
emit StartRecordSignal();//发射开始采集信号
|
||||||
|
|
||||||
ui.action_start_recording->setText(QString::fromLocal8Bit("停止采集"));
|
ui.action_start_recording->setText(QString::fromLocal8Bit("停止采集"));
|
||||||
@ -1342,8 +1336,7 @@ void HPPA::onStartRecordStep1()
|
|||||||
//ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(255,0,0);}");
|
//ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(255,0,0);}");
|
||||||
|
|
||||||
//应该先控制马达运动,当马达运动后,再开始光谱仪采集(发射开始采集信号)
|
//应该先控制马达运动,当马达运动后,再开始光谱仪采集(发射开始采集信号)
|
||||||
m_Imager->setFileName2Save(imgPath);
|
emit updateRecordingFileInfoSignal(AppSettings::instance().dataFolder(), AppSettings::instance().fileName(), this->frame_number->text().toInt());
|
||||||
m_Imager->setFrameNumber(this->frame_number->text().toInt());
|
|
||||||
m_omc->setImager(m_Imager);
|
m_omc->setImager(m_Imager);
|
||||||
m_omc->run();
|
m_omc->run();
|
||||||
}
|
}
|
||||||
@ -1367,8 +1360,7 @@ void HPPA::onStartRecordStep1()
|
|||||||
//m_imageViewerTabWidget->clear();
|
//m_imageViewerTabWidget->clear();
|
||||||
removeAllLayersInRasterGroup();
|
removeAllLayersInRasterGroup();
|
||||||
|
|
||||||
m_Imager->setFileName2Save(imgPath);
|
emit updateRecordingFileInfoSignal(AppSettings::instance().dataFolder(), AppSettings::instance().fileName(), this->frame_number->text().toInt());
|
||||||
m_Imager->setFrameNumber(this->frame_number->text().toInt());
|
|
||||||
m_tmc->setImager(m_Imager);
|
m_tmc->setImager(m_Imager);
|
||||||
m_tmc->setPosFileName(QString::fromStdString(x_location));
|
m_tmc->setPosFileName(QString::fromStdString(x_location));
|
||||||
m_tmc->run();
|
m_tmc->run();
|
||||||
@ -1393,8 +1385,7 @@ void HPPA::onStartRecordStep1()
|
|||||||
else if (checkedName == "mAction_RobotArm")
|
else if (checkedName == "mAction_RobotArm")
|
||||||
{
|
{
|
||||||
//先判断是否选择了任务,执行函数RobotArmControl::executeTask,修复界面显示bug
|
//先判断是否选择了任务,执行函数RobotArmControl::executeTask,修复界面显示bug
|
||||||
m_Imager->setFileName2Save(imgPath);
|
emit updateRecordingFileInfoSignal(AppSettings::instance().dataFolder(), AppSettings::instance().fileName(), this->frame_number->text().toInt());
|
||||||
m_Imager->setFrameNumber(this->frame_number->text().toInt());
|
|
||||||
m_rac->executeTaskWithHyperImager();
|
m_rac->executeTaskWithHyperImager();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -1797,7 +1788,6 @@ void HPPA::onconnect()
|
|||||||
connect(m_Imager, &ImagerOperationBase::autoExposureSignal, this, &HPPA::autoExposureFinished);
|
connect(m_Imager, &ImagerOperationBase::autoExposureSignal, this, &HPPA::autoExposureFinished);
|
||||||
|
|
||||||
m_Imager->connect_imager(frame_number->text().toInt());
|
m_Imager->connect_imager(frame_number->text().toInt());
|
||||||
m_Imager->setFileName2Save(m_FilenameLineEdit->text().toStdString());
|
|
||||||
|
|
||||||
//文件拷贝
|
//文件拷贝
|
||||||
m_CopyFileThread = new QThread();
|
m_CopyFileThread = new QThread();
|
||||||
@ -1819,6 +1809,7 @@ void HPPA::onconnect()
|
|||||||
|
|
||||||
connect(this->ui.action_start_recording, SIGNAL(triggered()), this, SLOT(onStartRecordStep1()));
|
connect(this->ui.action_start_recording, SIGNAL(triggered()), this, SLOT(onStartRecordStep1()));
|
||||||
connect(this, SIGNAL(StartRecordSignal()), m_Imager, SLOT(start_record()));
|
connect(this, SIGNAL(StartRecordSignal()), m_Imager, SLOT(start_record()));
|
||||||
|
connect(this, &HPPA::updateRecordingFileInfoSignal, m_Imager, &ImagerOperationBase::updateRecordingFileInfo);
|
||||||
connect(this, SIGNAL(RecordWhiteSignal()), m_Imager, SLOT(record_white()));
|
connect(this, SIGNAL(RecordWhiteSignal()), m_Imager, SLOT(record_white()));
|
||||||
connect(this, SIGNAL(RecordDarlSignal()), m_Imager, SLOT(record_dark()));
|
connect(this, SIGNAL(RecordDarlSignal()), m_Imager, SLOT(record_dark()));
|
||||||
connect(m_Imager, SIGNAL(RecordWhiteFinishSignal()), this, SLOT(recordWhiteFinish()));
|
connect(m_Imager, SIGNAL(RecordWhiteFinishSignal()), this, SLOT(recordWhiteFinish()));
|
||||||
|
|||||||
@ -74,6 +74,8 @@
|
|||||||
#include "recordFrameCounter.h"
|
#include "recordFrameCounter.h"
|
||||||
|
|
||||||
#include "setWindow.h"
|
#include "setWindow.h"
|
||||||
|
#include "AppSettings.h"
|
||||||
|
#include "FileNameLineEdit.h"
|
||||||
|
|
||||||
#define PI 3.1415926
|
#define PI 3.1415926
|
||||||
|
|
||||||
@ -208,7 +210,7 @@ private:
|
|||||||
QWidget* tmp(QWidget* a);
|
QWidget* tmp(QWidget* a);
|
||||||
|
|
||||||
QLineEdit * frame_number;
|
QLineEdit * frame_number;
|
||||||
QLineEdit * m_FilenameLineEdit;
|
FileNameLineEdit * m_FilenameLineEdit;
|
||||||
QLabel * xmotor_state_label1;
|
QLabel * xmotor_state_label1;
|
||||||
QLabel * ymotor_state_label1;
|
QLabel * ymotor_state_label1;
|
||||||
|
|
||||||
@ -373,4 +375,6 @@ signals:
|
|||||||
|
|
||||||
void RecordWhiteSignal();
|
void RecordWhiteSignal();
|
||||||
void RecordDarlSignal();
|
void RecordDarlSignal();
|
||||||
|
|
||||||
|
void updateRecordingFileInfoSignal(const QString& filePath, const QString& baseName, int frameNumber);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -114,6 +114,7 @@
|
|||||||
<ClCompile Include="Carousel.cpp" />
|
<ClCompile Include="Carousel.cpp" />
|
||||||
<ClCompile Include="Corning410Imager.cpp" />
|
<ClCompile Include="Corning410Imager.cpp" />
|
||||||
<ClCompile Include="CustomDockWidgetBase.cpp" />
|
<ClCompile Include="CustomDockWidgetBase.cpp" />
|
||||||
|
<ClCompile Include="FileNameLineEdit.cpp" />
|
||||||
<ClCompile Include="hppaConfigFile.cpp" />
|
<ClCompile Include="hppaConfigFile.cpp" />
|
||||||
<ClCompile Include="HyperImagerControl.cpp" />
|
<ClCompile Include="HyperImagerControl.cpp" />
|
||||||
<ClCompile Include="imageControl.cpp" />
|
<ClCompile Include="imageControl.cpp" />
|
||||||
@ -206,6 +207,7 @@
|
|||||||
<QtMoc Include="AspectRatioLabel.h" />
|
<QtMoc Include="AspectRatioLabel.h" />
|
||||||
<QtMoc Include="HyperImagerControl.h" />
|
<QtMoc Include="HyperImagerControl.h" />
|
||||||
<ClInclude Include="AppSettings.h" />
|
<ClInclude Include="AppSettings.h" />
|
||||||
|
<QtMoc Include="FileNameLineEdit.h" />
|
||||||
<ClInclude Include="imager_base.h" />
|
<ClInclude Include="imager_base.h" />
|
||||||
<ClInclude Include="irisximeaimager.h" />
|
<ClInclude Include="irisximeaimager.h" />
|
||||||
<QtMoc Include="OneMotorControl.h" />
|
<QtMoc Include="OneMotorControl.h" />
|
||||||
|
|||||||
@ -205,6 +205,9 @@
|
|||||||
<ClCompile Include="AppSettings.cpp">
|
<ClCompile Include="AppSettings.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="FileNameLineEdit.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtMoc Include="fileOperation.h">
|
<QtMoc Include="fileOperation.h">
|
||||||
@ -333,6 +336,9 @@
|
|||||||
<QtMoc Include="setWindow.h">
|
<QtMoc Include="setWindow.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
|
<QtMoc Include="FileNameLineEdit.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="imageProcessor.h">
|
<ClInclude Include="imageProcessor.h">
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
#include "ImagerOperationBase.h"
|
#include "ImagerOperationBase.h"
|
||||||
|
#include <QDir>
|
||||||
|
|
||||||
ImagerOperationBase::ImagerOperationBase()
|
ImagerOperationBase::ImagerOperationBase()
|
||||||
{
|
{
|
||||||
@ -250,6 +251,7 @@ void ImagerOperationBase::start_record()
|
|||||||
string timesFile = removeFileExtension(m_FileName2Save2) + ".times";
|
string timesFile = removeFileExtension(m_FileName2Save2) + ".times";
|
||||||
FILE* hTimesFile = fopen(timesFile.c_str(), "w+");
|
FILE* hTimesFile = fopen(timesFile.c_str(), "w+");
|
||||||
|
|
||||||
|
|
||||||
imagerStartCollect();
|
imagerStartCollect();
|
||||||
while (m_bRecordControlState)
|
while (m_bRecordControlState)
|
||||||
{
|
{
|
||||||
@ -257,6 +259,7 @@ void ImagerOperationBase::start_record()
|
|||||||
|
|
||||||
getFrame(buffer);
|
getFrame(buffer);
|
||||||
long long timeOs = getNanosecondsSinceMidnight();
|
long long timeOs = getNanosecondsSinceMidnight();
|
||||||
|
//qDebug() << "time ns-------------------: " << timeOs;
|
||||||
|
|
||||||
//减去暗电流,应为buffer和dark都是unsigned short,所以当dark>buffer时,buffer-dark=65535
|
//减去暗电流,应为buffer和dark都是unsigned short,所以当dark>buffer时,buffer-dark=65535
|
||||||
if (m_HasDark)
|
if (m_HasDark)
|
||||||
@ -297,7 +300,7 @@ void ImagerOperationBase::start_record()
|
|||||||
}
|
}
|
||||||
|
|
||||||
x = fwrite(buffer, 2, m_FrameSize, m_fImage);
|
x = fwrite(buffer, 2, m_FrameSize, m_fImage);
|
||||||
fprintf(hTimesFile, "%d\n", timeOs);
|
fprintf(hTimesFile, "%ll\n", timeOs);
|
||||||
|
|
||||||
//将rgb波段提取出来,以便在界面中显示
|
//将rgb波段提取出来,以便在界面中显示
|
||||||
m_RgbImage->FillRgbImage(buffer);//??????????????????????????????????????????????????????????????????????????????????????????????????????
|
m_RgbImage->FillRgbImage(buffer);//??????????????????????????????????????????????????????????????????????????????????????????????????????
|
||||||
@ -320,7 +323,7 @@ void ImagerOperationBase::start_record()
|
|||||||
|
|
||||||
//在最后一次画图前需要进行一次拉伸
|
//在最后一次画图前需要进行一次拉伸
|
||||||
//m_RgbImage
|
//m_RgbImage
|
||||||
emit PlotSignal(m_FileSavedCounter, -1, filePath);
|
emit PlotSignal(m_FileSavedCounter, -1, filePath);//采集完成后进行一次画图,以防采集帧数不是帧率的倍数时,画图不全
|
||||||
|
|
||||||
m_bRecordControlState = false;
|
m_bRecordControlState = false;
|
||||||
WriteHdr();
|
WriteHdr();
|
||||||
@ -357,6 +360,14 @@ void ImagerOperationBase::setFileName2Save(string FileName)
|
|||||||
m_FileSavedCounter = 0;
|
m_FileSavedCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ImagerOperationBase::updateRecordingFileInfo(const QString& filePath, const QString& baseName, int frameNumber)
|
||||||
|
{
|
||||||
|
m_FileName2Save = (filePath + QDir::separator() + baseName).toStdString();
|
||||||
|
m_FileSavedCounter = 0;
|
||||||
|
|
||||||
|
setFrameNumber(frameNumber);
|
||||||
|
}
|
||||||
|
|
||||||
void ImagerOperationBase::setFocusControlState(bool FocusControlState)
|
void ImagerOperationBase::setFocusControlState(bool FocusControlState)
|
||||||
{
|
{
|
||||||
m_bFocusControlState = FocusControlState;
|
m_bFocusControlState = FocusControlState;
|
||||||
|
|||||||
@ -101,6 +101,9 @@ public slots:
|
|||||||
virtual void record_white();
|
virtual void record_white();
|
||||||
|
|
||||||
void getFocusIndexSobel();
|
void getFocusIndexSobel();
|
||||||
|
|
||||||
|
void updateRecordingFileInfo(const QString& filePath, const QString& baseName, int frameNumber);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void PlotSignal(int, int, QString);//绘制影像信号,第一个参数:第几个影像;第二个参数:采集到的帧数,-1代表此次采集的最后一次绘制
|
void PlotSignal(int, int, QString);//绘制影像信号,第一个参数:第几个影像;第二个参数:采集到的帧数,-1代表此次采集的最后一次绘制
|
||||||
void RecordFinishedSignal_WhenFrameNumberMeet();//采集完成信号:需要采集的总帧数(m_iFrameNumber)采集完成
|
void RecordFinishedSignal_WhenFrameNumberMeet();//采集完成信号:需要采集的总帧数(m_iFrameNumber)采集完成
|
||||||
|
|||||||
@ -285,8 +285,13 @@ void ResononNirImager::start_record()
|
|||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// <20>ڿ<EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ<EFBFBD><CFA2>UI <20><><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD> MapLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// prepare file name that will be used for saving
|
||||||
m_FileName2Save2 = m_FileName2Save + "_" + std::to_string(m_FileSavedCounter) + ".bil";
|
m_FileName2Save2 = m_FileName2Save + "_" + std::to_string(m_FileSavedCounter) + ".bil";
|
||||||
|
QString baseName = QString::fromStdString(getFileNameFromPath(m_FileName2Save2));
|
||||||
QString filePath = QString::fromStdString(m_FileName2Save2);
|
QString filePath = QString::fromStdString(m_FileName2Save2);
|
||||||
|
emit LayerFileCreated(baseName, filePath, m_FileSavedCounter);
|
||||||
|
|
||||||
FILE* m_fImage = fopen(m_FileName2Save2.c_str(), "w+b");
|
FILE* m_fImage = fopen(m_FileName2Save2.c_str(), "w+b");
|
||||||
|
|
||||||
size_t x;
|
size_t x;
|
||||||
@ -344,7 +349,7 @@ void ResononNirImager::start_record()
|
|||||||
}
|
}
|
||||||
|
|
||||||
x = fwrite(buffer, 2, m_FrameSize, m_fImage);
|
x = fwrite(buffer, 2, m_FrameSize, m_fImage);
|
||||||
fprintf(hTimesFile, "%lld\n", timeOs);
|
fprintf(hTimesFile, "%ll\n", timeOs);
|
||||||
|
|
||||||
//<2F><>rgb<67><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
//<2F><>rgb<67><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
m_RgbImage->FillRgbImage(buffer);//??????????????????????????????????????????????????????????????????????????????????????????????????????
|
m_RgbImage->FillRgbImage(buffer);//??????????????????????????????????????????????????????????????????????????????????????????????????????
|
||||||
@ -360,7 +365,6 @@ void ResononNirImager::start_record()
|
|||||||
if (m_iFrameCounter >= m_iFrameNumber)
|
if (m_iFrameCounter >= m_iFrameNumber)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
//qDebug() << "<22><><EFBFBD><EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD><C9BC><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -372,6 +376,11 @@ void ResononNirImager::start_record()
|
|||||||
|
|
||||||
m_bRecordControlState = false;
|
m_bRecordControlState = false;
|
||||||
WriteHdr();
|
WriteHdr();
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD> ImageFileSaved <20>źţ<C5BA>֪ͨ UI <20><><EFBFBD>Ѹ<EFBFBD><D1B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// m_FileName2Save2 <20><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD> .bil <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "tmp_image_0.bil"<22><>
|
||||||
|
emit ImageFileSaved(QString::fromStdString(m_FileName2Save2), m_FileSavedCounter);
|
||||||
|
|
||||||
m_FileSavedCounter++;
|
m_FileSavedCounter++;
|
||||||
|
|
||||||
if (m_iFrameCounter >= m_iFrameNumber)
|
if (m_iFrameCounter >= m_iFrameNumber)
|
||||||
|
|||||||
@ -243,7 +243,11 @@ QPushButton:pressed
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QLineEdit" name="dataFolderLineEdit"/>
|
<widget class="QLineEdit" name="dataFolderLineEdit">
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="0" column="2">
|
||||||
<widget class="QPushButton" name="dataFolderBtn">
|
<widget class="QPushButton" name="dataFolderBtn">
|
||||||
|
|||||||
Reference in New Issue
Block a user