调整算法,适应汽轮型号识别项目

newClassify
bobpan 5 years ago
parent fc5d286602
commit e7f7389332

File diff suppressed because it is too large Load Diff

@ -15,8 +15,6 @@
#include <fstream> #include <fstream>
#include "MultiScaleObj.h" #include "MultiScaleObj.h"
#include "ICompareModel.h" #include "ICompareModel.h"
#define COLS_SCALE (float)(1200.0/ 416.0)
using std::set; using std::set;
using std::map; using std::map;
using std::fstream; using std::fstream;
@ -96,14 +94,9 @@ public:
float outterR = -1); float outterR = -1);
static void selfRotationSimilarityFeature(const Mat& img, static void selfRotationSimilarityFeature(const Mat& img,
vector<float>& vec, Point2f cen = Point2f(-1, -1)); vector<float>& vec, Point2f cen = Point2f(-1, -1));
Mat genMask(const Mat& img, Point2f center, float innerR = -1, static Mat genMask(const Mat& img, Point2f center, float innerR = -1,
float outterR = -1,
int type = CV_32FC1);
Mat genInsideMask (const Mat& img, Point2f center, float innerR = -1,
float outterR = -1, float outterR = -1,
int type = CV_32FC1); int type = CV_32FC1);
static void genCandidateRepeatNums(set<unsigned int>& canNums); static void genCandidateRepeatNums(set<unsigned int>& canNums);
int computeRepeatNum(const Mat& img); int computeRepeatNum(const Mat& img);
static int recognizeLowerExtremes(const Mat& vec, set<unsigned int> canNums, int extremeRefineRange = 5, vector<int> *pExtemeIdxVec = 0); static int recognizeLowerExtremes(const Mat& vec, set<unsigned int> canNums, int extremeRefineRange = 5, vector<int> *pExtemeIdxVec = 0);
@ -115,10 +108,8 @@ public:
static void genCandidateAngleRanges(const Mat& disMat, float angleStep, static void genCandidateAngleRanges(const Mat& disMat, float angleStep,
vector<Range>& rangeVec, float rangeScale = 1); vector<Range>& rangeVec, float rangeScale = 1);
static void selfRotateMin(const Mat& img, Mat& weightMat, int repeatNum); static void selfRotateMin(const Mat& img, Mat& weightMat, int repeatNum);
float allocateInnerRadius(cv::Mat subImage);
float allocateRadius(cv::Mat subImage);
void resizeVecMat(vector<Mat> srcVec, vector<Mat> &dstVec);
void resizeMat(Mat src, Mat &dst);
public: public:
ImageCompareModel() : ImageCompareModel() :
mMatchValScale(1.0), mMatchValScale(1.0),
@ -136,21 +127,19 @@ public:
mpMultiScaleModel(NULL), mpMultiScaleModel(NULL),
meanDiameter(0), meanDiameter(0),
realWidth(0), realWidth(0),
realHeight(0), realHeight(0)
rInner(DBL_MAX)
{}; {};
ImageCompareModel(const ImageCompareModel& model) ImageCompareModel(const ImageCompareModel& model)
: mAlignBaseImg(model.getBaseImg().clone()) : mAlignBaseImg(model.getBaseImg().clone())
, mWeightMat(model.getWeightMat().clone()) , mWeightMat(model.getWeightMat().clone())
, mMatchValScale(model.getMatchValScale()) , mMatchValScale(model.getMatchValScale())
, mInSideBaseImg(model.getInsideBaseImg().clone())
, mInsideWeightMat(model.getInsideWeightImg().clone())
{ {
genMask(); genMask();
} }
~ImageCompareModel() {}; ~ImageCompareModel() {};
void printInfo(); void printInfo();
void saveImages(string dirPath); void saveImages(string dirPath);
bool save2file(string filePath); bool save2file(string filePath);
bool readFromFile(string filePath); bool readFromFile(string filePath);
@ -159,8 +148,6 @@ public:
{ {
mAlignBaseImg = model.getBaseImg().clone(); mAlignBaseImg = model.getBaseImg().clone();
mWeightMat = model.getWeightMat().clone(); mWeightMat = model.getWeightMat().clone();
mInSideBaseImg = model.getInsideBaseImg().clone();
mInsideWeightMat = model.getInsideWeightImg().clone();
mMatchValScale = model.getMatchValScale(); mMatchValScale = model.getMatchValScale();
mTargetMeanVal = model.getTargetMeanVal(); mTargetMeanVal = model.getTargetMeanVal();
mTargetStddevVal = model.getTargetStddevVal(); mTargetStddevVal = model.getTargetStddevVal();
@ -170,68 +157,61 @@ public:
mTrueSampleDisMax = model.getDisMax(); mTrueSampleDisMax = model.getDisMax();
mTrueSampleDisMin = model.getDisMin(); mTrueSampleDisMin = model.getDisMin();
meanDiameter = model.getMeanDiamter(); meanDiameter = model.getMeanDiamter();
rInner = model.getInnerR();
} }
void genMask(); void genMask();
void genOutterMask();
void preProcessImage(Mat& img, Mat &insideImg) const; void preProcessImage(Mat& img) const;
void preProcessImage(Mat& img, const Mat& mask, double dstMean, double dstStddev, int highlightsThreshold) const; void preProcessImage(Mat& img, const Mat& mask, double dstMean, double dstStddev, int highlightsThreshold) const;
void preProcessImage(Mat& img, const Mat& mask, const Mat& weightMat, double dstMean, void preProcessImage(Mat& img, const Mat& mask, const Mat& weightMat, double dstMean,
double dstStddev, int highlightsThreshold) const; double dstStddev, int highlightsThreshold) const;
void preProcessImage0(Mat& img) const; void preProcessImage0(Mat& img) const;
void weightOptimization(const vector<Mat>& falseSamples); void weightOptimization(const vector<Mat>& falseSamples);
//! 将一个图像和标准图mBaseImg进行旋转匹配再相减求得差异值 //! 将一个图像和标准图mBaseImg进行旋转匹配再相减求得差异值
/*! /*!
\param Mat img \param Mat img
\param Mat * pRImg \param Mat * pRImg
\param bool isFilterSize \param bool isFilterSize
\return double \return double
\see compare(Mat, Mat, Mat*, Mat*) \see compare(Mat, Mat, Mat*, Mat*)
*/ */
double compare(Mat srcImage, Mat* pRImg = NULL, int levelNum = 1, bool isFilterSize = true, int flag = 0, double compare(Mat img, Mat* pRImg = NULL, int levelNum = 1, bool isFilterSize = true, int flag = 0,
double md_diameter = 0, double md_height = 0); double md_diameter = 0, double md_height = 0);
//! 训练得到标准图像mBaseImg //! 训练得到标准图像mBaseImg
/*! /*!
\param const vector<Mat> & imgVec \param const vector<Mat> & imgVec
\return void \return void
*/ */
void train(const vector<Mat>& vec); void train(const vector<Mat>& imgVec);
void calculateAllParams(const vector<Mat>& imgVec); void calculateAllParams(const vector<Mat>& imgVec);
void trueSampleWeightRecon(const vector<Mat>& resizedVec, const vector<Mat>& resizedCenterVec, vector<RotateMatchResult> rmrVec, void trueSampleWeightRecon(const vector<Mat>& resizedVec, vector<RotateMatchResult> rmrVec);
vector<RotateMatchResult> rmrVecInside); void trueWeightRecon(const Mat& rImg, const Mat& baseImg);
void trueWeightRecon(const Mat& rImg, const Mat& baseImg, const Mat& insideRimg, const Mat& insideBaseImg); void weightMapping(const Mat& weight, double maxVal);
void weightMapping(const Mat& weight, double maxVal, const Mat& i_mData, double i_maxVal);
//void falseWeightmapping(Mat &img); //void falseWeightmapping(Mat &img);
double descendFunction(double pixVal, double maxVal); double descendFunction(double pixVal, double maxVal);
double penltyCoeff(double matchedVal, int diameterMean, int targetDiameterm, double modelDiamter, double modelHeight) const; double penltyCoeff(double matchedVal, int diameterMean, int targetDiameterm, double modelDiamter, double modelHeight) const;
//! 根据负样本计算差异阈值,用于判断任意一个新的图像是否属于该类别。 //! 根据负样本计算差异阈值,用于判断任意一个新的图像是否属于该类别。
/*! /*!
\param const vector<Mat> & imgVec \param const vector<Mat> & imgVec
\return void \return void
*/ */
void computeDisThre(const vector<Mat>& imgVec, double* pMinDis = NULL, double md_diameter = 0, double md_height = 0); void computeDisThre(const vector<Mat>& imgVec, double* pMinDis = NULL, double md_diameter = 0, double md_height = 0);
double filterTrainImage(const Mat &img); double filterTrainImage(const Mat &img);
//! 并行计算rotate //! 并行计算rotate
/*! /*!
\param int index index \param int index index
\param void *p \param void *p
*/ */
void parallelDetect(int index, void *p) const; void parallelDetect(int index, void *p) const;
//! 获取标准图像
//! 获取标准图像
/*! /*!
\return cv::Mat \return cv::Mat
*/ */
Mat getInsideBaseImg() const{ return mInSideBaseImg; } Mat getBaseImg() const { return mAlignBaseImg; }
Mat getInsideWeightImg() const{ return mInsideWeightMat; }
float getInnerR() const { return rInner; }
virtual Mat getBaseImg() const { return mAlignBaseImg; }
void setBaseImg(const Mat& img) { mAlignBaseImg = img; } void setBaseImg(const Mat& img) { mAlignBaseImg = img; }
@ -259,17 +239,17 @@ public:
double getFalseSampleMinDis() const { return mFalseSampleMinDis; } double getFalseSampleMinDis() const { return mFalseSampleMinDis; }
double getMeanDiamter() const { return meanDiameter; } double getMeanDiamter() const { return meanDiameter; }
//! 获取最近一次执行readFromFile时输入的文件路径 //! 获取最近一次执行readFromFile时输入的文件路径
/*! /*!
\return string \return string
*/ */
string getFilePath() const { return mFilePath; } string getFilePath() const { return mFilePath; }
double getDisThre() const { return mDisThre; } double getDisThre() const { return mDisThre; }
void setDisThre(double val) { mDisThre = val; } void setDisThre(double val) { mDisThre = val; }
//! 启用缓存。缓存会将每次调用compare接口输入的img参数的data指针作为key存储 //! 启用缓存。缓存会将每次调用compare接口输入的img参数的data指针作为key存储
// 差异值。 // 差异值。
/*! /*!
\return void \return void
*/ */
@ -300,16 +280,16 @@ public:
void setRealHeight(int val){ realHeight = val; } void setRealHeight(int val){ realHeight = val; }
int getRealWidth(){ return realWidth; } int getRealWidth(){ return realWidth; }
int getRealHeight(){ return realHeight; } int getRealHeight(){ return realHeight; }
void printLog(string root, string log, double n = 0) const;
protected: protected:
//! 尚未完成将两个图像分别和标准图mBaseImg进行旋转匹配再相减求得差异值 //! 尚未完成将两个图像分别和标准图mBaseImg进行旋转匹配再相减求得差异值
/*! /*!
\param Mat img0 img0 \param Mat img0 img0
\param Mat img1 img1 \param Mat img1 img1
\param Mat * pRImg0 img0mBaseImgrimg0 \param Mat * pRImg0 img0mBaseImgrimg0
\param Mat * pRImg1 img1mBaseImgrimg1 \param Mat * pRImg1 img1mBaseImgrimg1
\return double mMatchValScale*norm(rimg0 - rimg1)/(cols*rows) \return double mMatchValScale*norm(rimg0 - rimg1)/(cols*rows)
*/ */
double compare(Mat img0, Mat img1, Mat* pRImg0 = NULL, Mat* pRImg1 = NULL); double compare(Mat img0, Mat img1, Mat* pRImg0 = NULL, Mat* pRImg1 = NULL);
@ -333,24 +313,16 @@ protected:
Mat mDisMat; Mat mDisMat;
Mat reConMat; Mat reConMat;
Mat falseReConMat; Mat falseReConMat;
Mat insideWeightRecon; double mDisThre;
Mat innerTempl;
double mDisThre{ DBL_MAX };
string mName; string mName;
double falseMinDis; double falseMinDis;
int meanDiameter; int meanDiameter;
int realWidth; int realWidth;
int realHeight; int realHeight;
// INSIDE PART
Mat mInSideBaseImg, mInsideCompareBaseImg;
Mat mInsideWeightMat;
Mat m32fInsideMaskImg, m8uInsideMaskImg;
float rInner;
float x_aix;
float y_aix;
// some training data // some training data
double mTrueSampleDisStddev, mTrueSampleDisMean, mTrueSampleDisMax{DBL_MAX}, mTrueSampleDisMin; double mTrueSampleDisStddev, mTrueSampleDisMean, mTrueSampleDisMax, mTrueSampleDisMin;
double mFalseSampleMinDis; double mFalseSampleMinDis;
// temp data // temp data
@ -361,8 +333,6 @@ protected:
// cache // cache
bool mIsEnableCache; bool mIsEnableCache;
map<uchar*, double> mDisCache; map<uchar*, double> mDisCache;
public:
static int m_parallelFlag;
private: private:
}; };

@ -1,11 +1,13 @@
#include "MultiScaleImageCompareModel.h" #include "MultiScaleImageCompareModel.h"
#include "ImageCompareModel.h" #include "ImageCompareModel.h"
//#include "../3rd/cvplot/cvplot.h"
void MultiScaleImageCompareModel::setBaseLevel(const ImageCompareModel* pModel) void MultiScaleImageCompareModel::setBaseLevel(const ImageCompareModel* pModel)
{ {
ImageCompareModel* p = new ImageCompareModel; ImageCompareModel* p = new ImageCompareModel;
*p = *pModel; *p = *pModel;
p->genOutterMask(); p->genMask();
clear(); clear();
mMultiScaleModels.resize(1); mMultiScaleModels.resize(1);
mMultiScaleModels[0] = p; mMultiScaleModels[0] = p;
@ -15,16 +17,11 @@ void MultiScaleImageCompareModel::genMultiScale()
{ {
resetMaxLevel(); resetMaxLevel();
while (getLevel() >= 1) while (getLevel() >= 1)
{
if (mMultiScaleModels.size()>1)
{ {
ImageCompareModel* pScaledModel = mMultiScaleModels.back()->scale(mScaleStep); ImageCompareModel* pScaledModel = mMultiScaleModels.back()->scale(mScaleStep);
mMultiScaleModels.push_back(pScaledModel); mMultiScaleModels.push_back(pScaledModel);
downLevel(); downLevel();
} }
else
downLevel();
}
} }
const ImageCompareModel* MultiScaleImageCompareModel::getCmpModel(int level) const ImageCompareModel* MultiScaleImageCompareModel::getCmpModel(int level)
@ -58,19 +55,11 @@ void MultiScaleImageCompareModel::proc(void *pData)
vector<Range> angleRangeVec(1, Range(0, 360)); vector<Range> angleRangeVec(1, Range(0, 360));
ImageCompareModel::RotateData* pRotateData = pCmpData->getRotateData(); ImageCompareModel::RotateData* pRotateData = pCmpData->getRotateData();
int nlevel = getLevel(); while (getLevel() >= 0)
while (nlevel >= 0)
{ {
nlevel = getLevel(); const ImageCompareModel* pModel = mMultiScaleModels[getLevel()];
if (nlevel<0)
break;
const ImageCompareModel* pModel = NULL;
if (nlevel >= mMultiScaleModels.size())
pModel = mMultiScaleModels[0];
else
pModel = mMultiScaleModels[nlevel];
assert(pModel); assert(pModel);
Mat img = pMSImg->getImg(nlevel); Mat img = pMSImg->getImg(getLevel());
assert(!img.empty()); assert(!img.empty());
@ -111,6 +100,26 @@ void MultiScaleImageCompareModel::proc(void *pData)
// Mat viewBestRImg = pRotateData->bestRImg() / 255.0; // Mat viewBestRImg = pRotateData->bestRImg() / 255.0;
// imshow("bestRImg", viewBestRImg); // imshow("bestRImg", viewBestRImg);
#endif #endif
#ifdef DEBUG_VIEW_PLOT
{
stringstream ss;
ss << "multi_scale_comp_plot" << getLevel();
CvPlot::clear(ss.str());
CvPlot::plot<float>(ss.str(), &(pRotateData->mDisValVec[0]),
pRotateData->mDisValVec.size());
}
{
stringstream ss;
ss << "multi_scale_comp_plot_0_360_" << getLevel();
CvPlot::clear(ss.str());
ImageCompareModel::RotateData testRotateData = *pRotateData;
pModel->rotateMatchData(img, &testRotateData, 1.0, startAngle, endAngle);
CvPlot::plot<float>(ss.str(), &(testRotateData.mDisValVec[0]),
testRotateData.mDisValVec.size());
}
#endif
downLevel(); downLevel();
} }
} }

@ -0,0 +1 @@
接口文件 公用

@ -1,11 +0,0 @@
#include "ThreadVector.h"
ThreadVector::ThreadVector()
{
}
ThreadVector::~ThreadVector()
{
}

@ -1,12 +0,0 @@
#pragma once
enum EM_THREAD_TASK {
emThreadSendState, emThreadSendLib, emThread
};
class ThreadVector
{
public:
ThreadVector();
~ThreadVector();
};

@ -47,7 +47,6 @@ QModelMgrDlg::QModelMgrDlg(IWheelCtrl *ptr, QWidget *parent)
m_pShowImgList = ui.listWidget; m_pShowImgList = ui.listWidget;
m_pModelMgr = m_pCtrl->getModelMgr(); m_pModelMgr = m_pCtrl->getModelMgr();
// m_pState = m_pCtrl->getDetectState();
m_trainAllTsk = new QMyThread(); m_trainAllTsk = new QMyThread();
m_trainAllTsk->setUser(true); m_trainAllTsk->setUser(true);
@ -58,9 +57,7 @@ QModelMgrDlg::QModelMgrDlg(IWheelCtrl *ptr, QWidget *parent)
m_trainOneTsk->loadfunc(this, &QModelMgrDlg::TrainOneTskFunc); m_trainOneTsk->loadfunc(this, &QModelMgrDlg::TrainOneTskFunc);
// m_pProgressView = new ProgressView(this);
// m_pProgressView->setUseCancel(true);
// connect(m_pProgressView, SIGNAL(cancel()), this, SLOT(onProgassCancel()));
//m_pProgressView->finish(); //m_pProgressView->finish();
connect(this, SIGNAL(sgPrograssShow(QString, QString, int, int)), this, SLOT(onPrograssShow(QString, QString, int, int))); connect(this, SIGNAL(sgPrograssShow(QString, QString, int, int)), this, SLOT(onPrograssShow(QString, QString, int, int)));
connect(this, SIGNAL(sgShowMsg(QString)), this, SLOT(onShowMessage(QString))); connect(this, SIGNAL(sgShowMsg(QString)), this, SLOT(onShowMessage(QString)));
@ -357,6 +354,13 @@ Q_SLOT void QModelMgrDlg::onItemDoubleClicked(QListWidgetItem * item)
Q_SLOT void QModelMgrDlg::onPrograssShow(QString title, QString strValue, int size, int model) Q_SLOT void QModelMgrDlg::onPrograssShow(QString title, QString strValue, int size, int model)
{ {
if (!m_pProgressView)
{
m_pProgressView = new ProgressView(this);
m_pProgressView->setUseCancel(true);
connect(m_pProgressView, SIGNAL(cancel()), this, SLOT(onProgassCancel()));
//return;
}
switch (model) switch (model)
{ {
case emPross_Init: case emPross_Init:

@ -55,7 +55,6 @@
<ClCompile Include="..\..\src\tpMain\qworkmgrui.cpp" /> <ClCompile Include="..\..\src\tpMain\qworkmgrui.cpp" />
<ClCompile Include="..\..\src\tpMain\splashScreen\qmysplashscreen.cpp" /> <ClCompile Include="..\..\src\tpMain\splashScreen\qmysplashscreen.cpp" />
<ClCompile Include="..\..\src\tpMain\TempImage.cpp" /> <ClCompile Include="..\..\src\tpMain\TempImage.cpp" />
<ClCompile Include="..\..\src\tpMain\ThreadVector.cpp" />
<ClCompile Include="..\..\src\tpMain\thread\qmythread.cpp" /> <ClCompile Include="..\..\src\tpMain\thread\qmythread.cpp" />
<ClCompile Include="..\..\src\tpMain\timemgrctrl.cpp" /> <ClCompile Include="..\..\src\tpMain\timemgrctrl.cpp" />
<ClCompile Include="..\..\src\tpMain\WheelCtrl.cpp" /> <ClCompile Include="..\..\src\tpMain\WheelCtrl.cpp" />
@ -486,7 +485,6 @@
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\..\spider\libZK" "-I.\..\..\..\tadpole\include" "-I.\..\..\..\tadpole\src\SubFilters" "-I.\..\..\..\tadpole\src\SubFilters\tpSubFilterDemo" "-I.\..\..\..\tadpole\src\tpGui" "-I.\..\..\..\tadpole\src\tpBase" "-I.\..\..\..\tadpole\src\lpbengine" "-I.\..\..\..\tadpole\src\tpNet" "-I.\..\..\..\tadpole\src\lpdesigner" "-I.\..\..\..\tadpole\src\tpMain" "-I.\..\..\..\tadpole\src\tpSubFilter" "-I.\..\..\..\tadpole\src\libzkq" "-I.\..\..\..\tadpole\src\tpAssister" "-I.\..\..\include\tpMain" "-I.\..\..\include\tpMain\SubFilters" "-I.\..\include" "-I.\..\..\..\lpOpenCV\opencv2.4.9\build\include" "-I.\..\..\..\lpOpenCV\opencv2.4.9\build\include\opencv2" "-I.\..\..\..\lpOpenCV\opencv2.4.9\build\include\opencv" "-I.\..\..\..\Cyclops\include" "-I.\..\..\src\algorithm" "-I.\..\..\include" "-I.\..\..\.\src\tpMain" "-I.\..\..\.\src\tpMain\thread" "-I.\..\..\.\src\tpMain\splashScreen" "-I.\..\..\.\src\tpMain\LightBoxwidget" "-I.\..\..\.\src\tpMain\QDiskCleanThread" "-I.\..\..\.\src\tpMain\QPixmapListBar" "-I.\..\..\.\src\userCtrl" "-I.\..\..\.\src\NetWheel" "-I.\..\..\.\src\RasterSDG20" "-I.\..\..\.\src\ReportModel"</Command> <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\..\spider\libZK" "-I.\..\..\..\tadpole\include" "-I.\..\..\..\tadpole\src\SubFilters" "-I.\..\..\..\tadpole\src\SubFilters\tpSubFilterDemo" "-I.\..\..\..\tadpole\src\tpGui" "-I.\..\..\..\tadpole\src\tpBase" "-I.\..\..\..\tadpole\src\lpbengine" "-I.\..\..\..\tadpole\src\tpNet" "-I.\..\..\..\tadpole\src\lpdesigner" "-I.\..\..\..\tadpole\src\tpMain" "-I.\..\..\..\tadpole\src\tpSubFilter" "-I.\..\..\..\tadpole\src\libzkq" "-I.\..\..\..\tadpole\src\tpAssister" "-I.\..\..\include\tpMain" "-I.\..\..\include\tpMain\SubFilters" "-I.\..\include" "-I.\..\..\..\lpOpenCV\opencv2.4.9\build\include" "-I.\..\..\..\lpOpenCV\opencv2.4.9\build\include\opencv2" "-I.\..\..\..\lpOpenCV\opencv2.4.9\build\include\opencv" "-I.\..\..\..\Cyclops\include" "-I.\..\..\src\algorithm" "-I.\..\..\include" "-I.\..\..\.\src\tpMain" "-I.\..\..\.\src\tpMain\thread" "-I.\..\..\.\src\tpMain\splashScreen" "-I.\..\..\.\src\tpMain\LightBoxwidget" "-I.\..\..\.\src\tpMain\QDiskCleanThread" "-I.\..\..\.\src\tpMain\QPixmapListBar" "-I.\..\..\.\src\userCtrl" "-I.\..\..\.\src\NetWheel" "-I.\..\..\.\src\RasterSDG20" "-I.\..\..\.\src\ReportModel"</Command>
</CustomBuild> </CustomBuild>
<ClInclude Include="..\..\src\tpMain\TempImage.h" /> <ClInclude Include="..\..\src\tpMain\TempImage.h" />
<ClInclude Include="..\..\src\tpMain\ThreadVector.h" />
<ClInclude Include="..\..\src\tpMain\timemgrctrl.h" /> <ClInclude Include="..\..\src\tpMain\timemgrctrl.h" />
<CustomBuild Include="..\..\src\tpMain\WheelCtrl.h"> <CustomBuild Include="..\..\src\tpMain\WheelCtrl.h">
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>

@ -329,9 +329,6 @@
<ClCompile Include="..\..\src\tpMain\TempImage.cpp"> <ClCompile Include="..\..\src\tpMain\TempImage.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\tpMain\ThreadVector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\tpMain\timemgrctrl.cpp"> <ClCompile Include="..\..\src\tpMain\timemgrctrl.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -616,9 +613,6 @@
<ClInclude Include="..\..\src\tpMain\TempImage.h"> <ClInclude Include="..\..\src\tpMain\TempImage.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\tpMain\ThreadVector.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\tpMain\timemgrctrl.h"> <ClInclude Include="..\..\src\tpMain\timemgrctrl.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>

Loading…
Cancel
Save