Compare commits
1 Commits
v1.0
...
add-licens
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dbd3b7c0b4 |
147
.gitignore
vendored
147
.gitignore
vendored
@@ -1,10 +1,7 @@
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
@@ -13,9 +10,6 @@
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
@@ -23,62 +17,42 @@ mono_crash.*
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Ww][Ii][Nn]32/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
# DNX
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# ASP.NET Scaffolding
|
||||
ScaffoldingReadMe.txt
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
@@ -88,7 +62,6 @@ StyleCopReport.xml
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
@@ -117,9 +90,6 @@ ipch/
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
@@ -131,23 +101,15 @@ _ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*[.json, .xml, .info]
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
@@ -179,9 +141,9 @@ publish/
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# TODO: Comment the next line if you want to checkin your web deploy settings
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
#*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
@@ -191,15 +153,13 @@ PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# NuGet Symbol Packages
|
||||
*.snupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
**/packages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
!**/packages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
#!**/packages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignoreable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
@@ -216,15 +176,12 @@ AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
!*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
@@ -235,12 +192,9 @@ ClientBin/
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
node_modules/
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
@@ -255,22 +209,15 @@ _UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
@@ -280,7 +227,6 @@ FakesAssemblies/
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
@@ -288,9 +234,6 @@ node_modules/
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
@@ -306,59 +249,13 @@ paket-files/
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
# JetBrains Rider
|
||||
.idea/
|
||||
*.sln.iml
|
||||
|
||||
# CodeRush
|
||||
.cr/
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||
MigrationBackup/
|
||||
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
|
||||
# 忽略指定文件夹
|
||||
.vs/
|
||||
Lib/
|
||||
*.pyc
|
||||
@@ -16,11 +16,11 @@ Calibrator::~Calibrator()
|
||||
|
||||
}
|
||||
|
||||
void Calibrator::addFrameSequence(std::vector<Mat> &frameSeq)
|
||||
void Calibrator::addFrameSequence(std::vector<cv::Mat> &frameSeq)
|
||||
{
|
||||
int n = frameSeqs.size();
|
||||
frameSeqs.resize(n+1);
|
||||
std::vector<Mat> &frame = frameSeqs[n];
|
||||
std::vector<cv::Mat> &frame = frameSeqs[n];
|
||||
for(int i = 0; i < frameSeq.size(); i++)
|
||||
{
|
||||
frame.push_back(frameSeq[i]);
|
||||
@@ -38,17 +38,17 @@ void Calibrator::reset()
|
||||
|
||||
void Calibrator::setBoardRows(int rows) {
|
||||
board_rows = rows;
|
||||
board_size = Size(board_rows, board_cols);
|
||||
board_size = cv::Size(board_rows, board_cols);
|
||||
}
|
||||
|
||||
void Calibrator::setBoardCols(int cols) {
|
||||
board_cols = cols;
|
||||
board_size = Size(board_rows, board_cols);
|
||||
board_size = cv::Size(board_rows, board_cols);
|
||||
}
|
||||
|
||||
void Calibrator::setCornerSize(double cornerSize) {
|
||||
dot_dis = cornerSize;
|
||||
corner_size = Size2f(cornerSize, cornerSize);
|
||||
corner_size = cv::Size2f(cornerSize, cornerSize);
|
||||
}
|
||||
|
||||
void Calibrator::setDotDiameter(double dotDiameter) {
|
||||
@@ -66,7 +66,7 @@ CalibrationData* Calibrator::calibrate()
|
||||
// detect corners ////////////////////////////////////
|
||||
for(int i = 0; i < frameSeqs.size(); i++)
|
||||
{
|
||||
std::vector<Point2f> corners = extract_board_corners( frameSeqs[i][0] );
|
||||
std::vector<cv::Point2f> corners = extract_board_corners( frameSeqs[i][0] );
|
||||
board_corners.push_back(corners);
|
||||
// std::cout<<i<<" corners: "<<corners.size()<<std::endl;
|
||||
// for(int j = 0; j < corners.size(); j++) {
|
||||
@@ -75,12 +75,12 @@ CalibrationData* Calibrator::calibrate()
|
||||
}
|
||||
|
||||
// collect projector correspondences
|
||||
std::vector<Point2f> pcorners;
|
||||
std::vector<cv::Point2f> pcorners;
|
||||
for(int i = 0; i < frameSeqs.size(); i++)
|
||||
{
|
||||
std::vector<Point2f> const& corners = board_corners[i];
|
||||
Mat pattern_image;
|
||||
Mat min_max_image;
|
||||
std::vector<cv::Point2f> const& corners = board_corners[i];
|
||||
cv::Mat pattern_image;
|
||||
cv::Mat min_max_image;
|
||||
if(corners.size()==0)
|
||||
{
|
||||
projector_corners.push_back(pcorners);
|
||||
@@ -95,25 +95,25 @@ CalibrationData* Calibrator::calibrate()
|
||||
}
|
||||
|
||||
pattern_list.push_back(pattern_image);
|
||||
for (std::vector<Point2f>::const_iterator iter=corners.begin(); iter!=corners.end(); iter++)
|
||||
for (std::vector<cv::Point2f>::const_iterator iter=corners.begin(); iter!=corners.end(); iter++)
|
||||
{
|
||||
const Point2f & p = *iter;
|
||||
Point2f q;
|
||||
const cv::Point2f & p = *iter;
|
||||
cv::Point2f q;
|
||||
//find an homography around p
|
||||
unsigned WINDOW_SIZE = 30;
|
||||
std::vector<Point2f> img_points , proj_points;
|
||||
std::vector<cv::Point2f> img_points , proj_points;
|
||||
if (p.x>WINDOW_SIZE && p.y>WINDOW_SIZE && p.x+WINDOW_SIZE<pattern_image.cols && p.y+WINDOW_SIZE<pattern_image.rows)
|
||||
{
|
||||
for (unsigned h=p.y-WINDOW_SIZE; h<p.y+WINDOW_SIZE; h++)
|
||||
{
|
||||
register const Vec2f * row = pattern_image.ptr<Vec2f>(h);
|
||||
register const Vec2b * min_max_row = min_max_image.ptr<Vec2b>(h);
|
||||
//Vec2f * out_row = out_pattern_image.ptr<Vec2f>(h);
|
||||
register const cv::Vec2f * row = pattern_image.ptr<cv::Vec2f>(h);
|
||||
register const cv::Vec2b * min_max_row = min_max_image.ptr<cv::Vec2b>(h);
|
||||
//cv::Vec2f * out_row = out_pattern_image.ptr<cv::Vec2f>(h);
|
||||
for (unsigned w=p.x-WINDOW_SIZE; w<p.x+WINDOW_SIZE; w++)
|
||||
{
|
||||
const Vec2f & pattern = row[w];
|
||||
const Vec2b & min_max = min_max_row[w];
|
||||
//Vec2f & out_pattern = out_row[w];
|
||||
const cv::Vec2f & pattern = row[w];
|
||||
const cv::Vec2b & min_max = min_max_row[w];
|
||||
//cv::Vec2f & out_pattern = out_row[w];
|
||||
if (std::isnan(pattern[0])>0 || std::isnan(pattern[1])>0)
|
||||
{
|
||||
continue;
|
||||
@@ -123,16 +123,16 @@ CalibrationData* Calibrator::calibrate()
|
||||
continue;
|
||||
}
|
||||
|
||||
img_points.push_back(Point2f(w, h));
|
||||
proj_points.push_back(Point2f(pattern));
|
||||
img_points.push_back(cv::Point2f(w, h));
|
||||
proj_points.push_back(cv::Point2f(pattern));
|
||||
|
||||
//out_pattern = pattern;
|
||||
}
|
||||
}
|
||||
Mat H = findHomography(img_points , proj_points, RANSAC);
|
||||
cv::Mat H = cv::findHomography(img_points , proj_points, cv::RANSAC);
|
||||
// std::cout << " H:\n" << H << std::endl;
|
||||
Point3d Q = Point3d(Mat(H*Mat(Point3d(p.x , p.y , 1.0))));
|
||||
q = Point2f(Q.x/Q.z ,Q.y/Q.z);
|
||||
cv::Point3d Q = cv::Point3d(cv::Mat(H*cv::Mat(cv::Point3d(p.x , p.y , 1.0))));
|
||||
q = cv::Point2f(Q.x/Q.z ,Q.y/Q.z);
|
||||
// jiuzheng
|
||||
// q.y += 118;
|
||||
pcorners.push_back(q);
|
||||
@@ -159,15 +159,15 @@ CalibrationData* Calibrator::calibrate()
|
||||
count++;
|
||||
}
|
||||
}
|
||||
std::vector<Point3f> world_corners;
|
||||
std::vector<cv::Point3f> world_corners;
|
||||
for (int h=0; h<board_size.height; h++)
|
||||
{
|
||||
for (int w=0; w<board_size.width; w++)
|
||||
{
|
||||
world_corners.push_back(Point3f(corner_size.width * w, corner_size.height * h , 0.f));
|
||||
world_corners.push_back(cv::Point3f(corner_size.width * w, corner_size.height * h , 0.f));
|
||||
}
|
||||
}
|
||||
std::vector<std::vector<Point3f> > objectPoints;
|
||||
std::vector<std::vector<cv::Point3f> > objectPoints;
|
||||
objectPoints.reserve(count);
|
||||
for (unsigned i=0; i<count; i++)
|
||||
{
|
||||
@@ -175,16 +175,16 @@ CalibrationData* Calibrator::calibrate()
|
||||
}
|
||||
|
||||
//generate world object coordinates
|
||||
std::vector<Point3f> world_corners_p;
|
||||
std::vector<cv::Point3f> world_corners_p;
|
||||
for (int h=0; h<board_size.height; h++)
|
||||
{
|
||||
for (int w=0; w<board_size.width; w++)
|
||||
{
|
||||
world_corners_p.push_back(Point3f(corner_size.width * w , corner_size.height * h ,0.f));
|
||||
world_corners_p.push_back(cv::Point3f(corner_size.width * w , corner_size.height * h ,0.f));
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::vector<Point3f> > objectPoints_p;
|
||||
std::vector<std::vector<cv::Point3f> > objectPoints_p;
|
||||
objectPoints_p.reserve(count);
|
||||
for (unsigned i=0; i<count; i++)
|
||||
{
|
||||
@@ -196,48 +196,48 @@ CalibrationData* Calibrator::calibrate()
|
||||
pattern_list.resize(count);
|
||||
|
||||
int cal_flags = 0
|
||||
//+ CALIB_FIX_K1
|
||||
//+ CALIB_FIX_K2
|
||||
//+ CALIB_ZERO_TANGENT_DIST
|
||||
+ CALIB_FIX_K3
|
||||
//+ cv::CALIB_FIX_K1
|
||||
//+ cv::CALIB_FIX_K2
|
||||
//+ cv::CALIB_ZERO_TANGENT_DIST
|
||||
+ cv::CALIB_FIX_K3
|
||||
;
|
||||
//calibrate the camera ////////////////////////////////////
|
||||
std::vector<Mat> cam_rvecs , cam_tvecs;
|
||||
std::vector<cv::Mat> cam_rvecs , cam_tvecs;
|
||||
int cam_flags = cal_flags;
|
||||
Size imageSize = frameSeqs[0][0].size();
|
||||
res->cam_error = calibrateCamera(objectPoints , board_corners , imageSize , res->Kc , res->kc ,cam_rvecs , cam_tvecs);
|
||||
cv::Size imageSize = frameSeqs[0][0].size();
|
||||
res->cam_error = cv::calibrateCamera(objectPoints , board_corners , imageSize , res->Kc , res->kc ,cam_rvecs , cam_tvecs);
|
||||
std::cout<<"calibrate the camera !"<<std::endl;
|
||||
|
||||
//calibrate the projector ////////////////////////////////////
|
||||
std::vector<Mat> proj_rvecs , proj_tvecs;
|
||||
std::vector<cv::Mat> proj_rvecs , proj_tvecs;
|
||||
int proj_flags = cal_flags;
|
||||
Size projector_size(912, 1140);
|
||||
res->proj_error = calibrateCamera(objectPoints_p , projector_corners, projector_size , res->Kp , res->kp , proj_rvecs , proj_tvecs);
|
||||
cv::Size projector_size(912, 1140);
|
||||
res->proj_error = cv::calibrateCamera(objectPoints_p , projector_corners, projector_size , res->Kp , res->kp , proj_rvecs , proj_tvecs);
|
||||
|
||||
std::cout<<"calibrate the projector !"<<std::endl;
|
||||
//stereo calibration
|
||||
Mat E, F;
|
||||
res->stereo_error = stereoCalibrate(objectPoints , board_corners , projector_corners ,
|
||||
cv::Mat E, F;
|
||||
res->stereo_error = cv::stereoCalibrate(objectPoints , board_corners , projector_corners ,
|
||||
res->Kc , res->kc , res->Kp ,res->kp ,imageSize /*ignored*/ ,
|
||||
res->Rp , res->Tp , E , F );
|
||||
// res->stereo_error = stereoCalibrate(objectPoints , board_corners , projector_corners , res->Kc , res->kc , res->Kp ,res->kp ,imageSize /*ignored*/ , res->Rp , res->Tp , E , F ,
|
||||
// TermCriteria(TermCriteria::COUNT + TermCriteria::EPS ,50 ,DBL_EPSILON) ,
|
||||
// CALIB_FIX_INTRINSIC /*CALIB_USE_INTRINSIC_GUESS + cal_flags*/);
|
||||
// res->stereo_error = cv::stereoCalibrate(objectPoints , board_corners , projector_corners , res->Kc , res->kc , res->Kp ,res->kp ,imageSize /*ignored*/ , res->Rp , res->Tp , E , F ,
|
||||
// cv::TermCriteria(cv::TermCriteria::COUNT + cv::TermCriteria::EPS ,50 ,DBL_EPSILON) ,
|
||||
// cv::CALIB_FIX_INTRINSIC /*cv::CALIB_USE_INTRINSIC_GUESS + cal_flags*/);
|
||||
std::cout<<"stereo calibration !"<<std::endl;
|
||||
|
||||
|
||||
FileStorage fsc("rtc.xml", FileStorage::WRITE);
|
||||
FileStorage fsp("rtp.xml", FileStorage::WRITE);
|
||||
cv::FileStorage fsc("rtc.xml", cv::FileStorage::WRITE);
|
||||
cv::FileStorage fsp("rtp.xml", cv::FileStorage::WRITE);
|
||||
|
||||
// objectPoints projector_corners board_corners
|
||||
std::ofstream opout("objectPoints.txt");
|
||||
std::ofstream pcout("projector_corners.txt");
|
||||
std::ofstream ccout("board_corners.txt");
|
||||
for (int i = 0; i < objectPoints.size(); i++) {
|
||||
fsc << "R" + std::to_string(i) << Mat(cam_rvecs[i]);
|
||||
fsc << "T" + std::to_string(i) << Mat(cam_tvecs[i]);
|
||||
fsp << "R" + std::to_string(i) << Mat(proj_rvecs[i]);
|
||||
fsp << "T" + std::to_string(i) << Mat(proj_tvecs[i]);
|
||||
fsc << "R" + std::to_string(i) << cv::Mat(cam_rvecs[i]);
|
||||
fsc << "T" + std::to_string(i) << cv::Mat(cam_tvecs[i]);
|
||||
fsp << "R" + std::to_string(i) << cv::Mat(proj_rvecs[i]);
|
||||
fsp << "T" + std::to_string(i) << cv::Mat(proj_tvecs[i]);
|
||||
for (int j = 0; j < objectPoints[i].size(); j++) {
|
||||
opout << objectPoints[i][j] << std::endl;
|
||||
pcout << projector_corners[i][j] << std::endl;
|
||||
@@ -254,24 +254,24 @@ CalibrationData* Calibrator::calibrate()
|
||||
|
||||
}
|
||||
|
||||
std::vector<Point2f> Calibrator::extract_board_corners(Mat &gray_image)
|
||||
std::vector<cv::Point2f> Calibrator::extract_board_corners(cv::Mat &gray_image)
|
||||
{
|
||||
std::vector<Point2f> corners;
|
||||
std::vector<cv::Point2f> corners;
|
||||
int image_scale = 1;
|
||||
if (gray_image.rows<1)
|
||||
{
|
||||
return corners;
|
||||
}
|
||||
Size imageSize = gray_image.size();
|
||||
cv::Size imageSize = gray_image.size();
|
||||
if (imageSize.width>1024)
|
||||
{
|
||||
image_scale = imageSize.width/1024;
|
||||
}
|
||||
|
||||
Mat small_img;
|
||||
cv::Mat small_img;
|
||||
if (image_scale>1)
|
||||
{
|
||||
resize(gray_image , small_img , Size(gray_image.cols/image_scale , gray_image.rows/image_scale));
|
||||
cv::resize(gray_image , small_img , cv::Size(gray_image.cols/image_scale , gray_image.rows/image_scale));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -279,27 +279,27 @@ std::vector<Point2f> Calibrator::extract_board_corners(Mat &gray_image)
|
||||
}
|
||||
|
||||
if(board_type == Chessboard) {
|
||||
findChessboardCorners(small_img, board_size, corners);
|
||||
cv::findChessboardCorners(small_img, board_size, corners);
|
||||
}
|
||||
else if(board_type == Circular) {
|
||||
findCirclesGrid(small_img, board_size, corners);
|
||||
cv::findCirclesGrid(small_img, board_size, corners);
|
||||
}
|
||||
|
||||
if (corners.size())
|
||||
{
|
||||
for (std::vector<Point2f>::iterator iter=corners.begin(); iter!=corners.end(); iter++)
|
||||
for (std::vector<cv::Point2f>::iterator iter=corners.begin(); iter!=corners.end(); iter++)
|
||||
{
|
||||
*iter = image_scale*(*iter);
|
||||
}
|
||||
cornerSubPix(gray_image , corners , Size(11 , 11) , Size(-1 , -1) ,
|
||||
TermCriteria(TermCriteria::EPS + TermCriteria::MAX_ITER, 30 , 0.1));
|
||||
cv::cornerSubPix(gray_image , corners , cv::Size(11 , 11) , cv::Size(-1 , -1) ,
|
||||
cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::MAX_ITER, 30 , 0.1));
|
||||
}
|
||||
|
||||
return corners;
|
||||
}
|
||||
|
||||
|
||||
bool Calibrator::decode_gray_set(int ind , Mat & pattern_image, Mat & min_max_image)
|
||||
bool Calibrator::decode_gray_set(int ind , cv::Mat & pattern_image, cv::Mat & min_max_image)
|
||||
{
|
||||
if (ind >= frameSeqs.size())
|
||||
{ //out of bounds
|
||||
@@ -308,7 +308,7 @@ bool Calibrator::decode_gray_set(int ind , Mat & pattern_image, Mat & min_max_i
|
||||
|
||||
//estimate direct component
|
||||
//b = config.value("robust_estimation/b" DEFAULT_B).toFloat();
|
||||
std::vector<Mat> images;
|
||||
std::vector<cv::Mat> images;
|
||||
// QList<unsigned> direct_component_images(QList<unsigned>() << 15 << 16 << 17 << 18 << 35 << 36 << 37 << 38);
|
||||
int total_images = frameSeqs[ind].size();
|
||||
int total_patterns = total_images/2 - 1;
|
||||
@@ -326,12 +326,12 @@ bool Calibrator::decode_gray_set(int ind , Mat & pattern_image, Mat & min_max_i
|
||||
{
|
||||
images.push_back(frameSeqs[ind][i]);
|
||||
}
|
||||
Mat direct_light = sl::estimate_direct_light(images, b);
|
||||
cv::Mat direct_light = sl::estimate_direct_light(images, b);
|
||||
|
||||
//m = config.value("robust_estimation/m" DEFAULT_M).toUInt();
|
||||
// return sl::decode_pattern(frameSeqs[ind] , pattern_image , min_max_image , sl::RobustDecode|sl::GrayPatternDecode , direct_light, m);
|
||||
|
||||
Size projector_size(912, 1140);
|
||||
cv::Size projector_size(912, 1140);
|
||||
bool rv = sl::decode_pattern(frameSeqs[ind], pattern_image, min_max_image, projector_size, sl::RobustDecode|sl::GrayPatternDecode, direct_light, m);
|
||||
return rv;
|
||||
}
|
||||
|
||||
@@ -510,8 +510,3 @@ void CoreAlgorithm::saveCoordinate()
|
||||
}
|
||||
destFile.close();
|
||||
}
|
||||
|
||||
vector<Mat> CoreAlgorithm::getCoordinates()
|
||||
{
|
||||
return coordinate;
|
||||
}
|
||||
|
||||
@@ -53,6 +53,4 @@ public:
|
||||
void run();
|
||||
|
||||
void saveCoordinate();
|
||||
|
||||
vector<Mat> getCoordinates();
|
||||
};
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
#include "HisThread.h"
|
||||
|
||||
HisThread::HisThread(PointCloud<PointXYZRGB>* cloudArg, PolygonMesh* meshArg)
|
||||
{
|
||||
mesh = meshArg;
|
||||
cloud = cloudArg;
|
||||
}
|
||||
|
||||
void HisThread::run()
|
||||
{
|
||||
PointCloud<PointXYZRGB>::Ptr finalCloud = cloud->makeShared();
|
||||
NormalEstimation<PointXYZRGB, Normal> n;//法线估计对象
|
||||
PointCloud<Normal>::Ptr normals(new PointCloud<Normal>);//存储估计的法线的指针
|
||||
search::KdTree<PointXYZRGB>::Ptr tree(new search::KdTree<PointXYZRGB>);
|
||||
tree->setInputCloud(finalCloud);
|
||||
n.setInputCloud(finalCloud);
|
||||
n.setSearchMethod(tree);
|
||||
n.setKSearch(20);
|
||||
n.compute(*normals); //计算法线,结果存储在normals中
|
||||
|
||||
//将点云和法线放到一起
|
||||
PointCloud<PointXYZRGBNormal>::Ptr cloud_with_normals(new PointCloud<PointXYZRGBNormal>);
|
||||
concatenateFields(*finalCloud, *normals, *cloud_with_normals);
|
||||
|
||||
//创建搜索树
|
||||
search::KdTree<PointXYZRGBNormal>::Ptr tree2(new search::KdTree<PointXYZRGBNormal>);
|
||||
tree2->setInputCloud(cloud_with_normals);
|
||||
//创建Poisson对象,并设置参数
|
||||
Poisson<PointXYZRGBNormal> pn;
|
||||
pn.setConfidence(true); //是否使用法向量的大小作为置信信息。如果false,所有法向量均归一化。
|
||||
pn.setDegree(2); //设置参数degree[1,5],值越大越精细,耗时越久。
|
||||
pn.setDepth(8); //树的最大深度,求解2^d x 2^d x 2^d立方体元。由于八叉树自适应采样密度,指定值仅为最大深度。
|
||||
pn.setIsoDivide(8); //用于提取ISO等值面的算法的深度
|
||||
pn.setManifold(true); //是否添加多边形的重心,当多边形三角化时。 设置流行标志,如果设置为true,则对多边形进行细分三角话时添加重心,设置false则不添加
|
||||
pn.setManifold(false);
|
||||
pn.setOutputPolygons(false); //是否输出多边形网格(而不是三角化移动立方体的结果)
|
||||
//pn.setSamplesPerNode(3.0); //设置落入一个八叉树结点中的样本点的最小数量。无噪声,[1.0-5.0],有噪声[15.-20.]平滑
|
||||
pn.setSamplesPerNode(18); //设置落入一个八叉树结点中的样本点的最小数量。无噪声,[1.0-5.0],有噪声[15.-20.]平滑
|
||||
pn.setScale(1.25); //设置用于重构的立方体直径和样本边界立方体直径的比率。
|
||||
pn.setSolverDivide(8); //设置求解线性方程组的Gauss-Seidel迭代方法的深度
|
||||
//pn.setIndices();
|
||||
|
||||
//设置搜索方法和输入点云
|
||||
pn.setSearchMethod(tree2);
|
||||
pn.setInputCloud(cloud_with_normals);
|
||||
|
||||
//执行重构
|
||||
pn.performReconstruction(*mesh);
|
||||
// auto pclData = PointCloudData::getInstance(cloud);
|
||||
// pclData->getViewer()->removeAllPointClouds();
|
||||
// pclData->getViewer()->addPolygonMesh(mesh, "my");
|
||||
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <qthread.h>
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/vtk_lib_io.h>
|
||||
#include <pcl/kdtree/kdtree_flann.h>
|
||||
#include <pcl/features/normal_3d_omp.h>
|
||||
#include <pcl/features/normal_3d.h>
|
||||
#include <pcl/surface/gp3.h>
|
||||
#include <pcl/surface/poisson.h>
|
||||
#include <pcl/PolygonMesh.h>
|
||||
#include <pcl/features/normal_3d.h>
|
||||
#include <pcl/features/normal_3d_omp.h>
|
||||
|
||||
using namespace std;
|
||||
using namespace pcl;
|
||||
|
||||
class HisThread :
|
||||
public QThread
|
||||
{
|
||||
public:
|
||||
HisThread(PointCloud<PointXYZRGB>* cloud,PolygonMesh* meshArg);
|
||||
~HisThread(){};
|
||||
|
||||
|
||||
private:
|
||||
PolygonMesh* mesh;// 多变形网格,用于存储结果
|
||||
PointCloud<PointXYZRGB>* cloud;
|
||||
|
||||
protected:
|
||||
void run();
|
||||
};
|
||||
@@ -10,15 +10,9 @@ void MyThread::run()
|
||||
if(!pcd.empty())
|
||||
{
|
||||
PointCloud<PointXYZRGB>::Ptr cloudPtr(new PointCloud<PointXYZRGB>);
|
||||
if (QString::fromStdString(pcd).endsWith(".pcd", Qt::CaseInsensitive))
|
||||
io::loadPCDFile(pcd, *cloudPtr);
|
||||
else if (QString::fromStdString(pcd).endsWith(".ply", Qt::CaseInsensitive))
|
||||
io::loadPLYFile(pcd, *cloudPtr);
|
||||
io::loadPCDFile(pcd, *cloudPtr);
|
||||
cloud = *cloudPtr;
|
||||
}
|
||||
|
||||
auto pclData = PointCloudData::getInstance(cloud);
|
||||
pclData->setCloud(cloud);
|
||||
|
||||
|
||||
}
|
||||
@@ -32,3 +26,7 @@ PointCloud<PointXYZRGB> MyThread::getCloud()
|
||||
{
|
||||
return cloud;
|
||||
}
|
||||
|
||||
MyThread::~MyThread()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#include <qthread.h>
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/vtk_lib_io.h>
|
||||
#include "PointCloudData.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace pcl;
|
||||
@@ -13,7 +12,7 @@ class MyThread :
|
||||
{
|
||||
public:
|
||||
MyThread();
|
||||
~MyThread(){};
|
||||
~MyThread();
|
||||
void setPcd(QString str);
|
||||
PointCloud<PointXYZRGB> getCloud();
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
#include "PointCloudData.h"
|
||||
|
||||
PointCloudData* PointCloudData::instance = nullptr;
|
||||
|
||||
PointCloudData::PointCloudData(PointCloud<PointXYZRGB> cloudArg)
|
||||
{
|
||||
cloud = cloudArg;
|
||||
num = 0;
|
||||
}
|
||||
|
||||
PointCloudData* PointCloudData::getInstance(PointCloud<PointXYZRGB> cloudArg)
|
||||
{
|
||||
if (instance == nullptr) instance = new PointCloudData(cloudArg);
|
||||
return instance;
|
||||
}
|
||||
|
||||
PointCloudData* PointCloudData::getInstance()
|
||||
{
|
||||
return instance;
|
||||
}
|
||||
|
||||
PointCloud<PointXYZRGB> PointCloudData::getCloud() const{
|
||||
return cloud;
|
||||
}
|
||||
|
||||
void PointCloudData::setCloud(PointCloud<PointXYZRGB> cloudArg){
|
||||
cloud= cloudArg;
|
||||
}
|
||||
|
||||
boost::shared_ptr<visualization::PCLVisualizer> PointCloudData::getViewer()
|
||||
{
|
||||
return viewer;
|
||||
}
|
||||
|
||||
|
||||
void PointCloudData::setViewer(boost::shared_ptr<visualization::PCLVisualizer> viewerArg)
|
||||
{
|
||||
viewer = viewerArg;
|
||||
}
|
||||
|
||||
std::vector<int> PointCloudData::getIndices()
|
||||
{
|
||||
return indices;
|
||||
}
|
||||
|
||||
void PointCloudData::setIndices(std::vector<int> indicesArg)
|
||||
{
|
||||
indices = indicesArg;
|
||||
}
|
||||
|
||||
Ui::ReconstructionClass PointCloudData::getUI()
|
||||
{
|
||||
return ui;
|
||||
}
|
||||
|
||||
void PointCloudData::setUI(Ui::ReconstructionClass uiArg)
|
||||
{
|
||||
ui = uiArg;
|
||||
}
|
||||
|
||||
int PointCloudData::getNum()
|
||||
{
|
||||
return num;
|
||||
}
|
||||
|
||||
void PointCloudData::setNum()
|
||||
{
|
||||
num++;
|
||||
}
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
#pragma once
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/pcd_io.h>
|
||||
#include <pcl/visualization/pcl_visualizer.h>
|
||||
#include <pcl/io/vtk_lib_io.h>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include "Reconstruction.h"
|
||||
|
||||
using namespace pcl;
|
||||
|
||||
class PointCloudData
|
||||
{
|
||||
private:
|
||||
PointCloudData(PointCloud<PointXYZRGB> cloudArg);
|
||||
~PointCloudData(){};
|
||||
PointCloud<PointXYZRGB> cloud;
|
||||
boost::shared_ptr<visualization::PCLVisualizer> viewer;
|
||||
std::vector<int> indices;
|
||||
Ui::ReconstructionClass ui;
|
||||
int num;// 用于框选删除点云的名称
|
||||
|
||||
public:
|
||||
static PointCloudData* getInstance();
|
||||
static PointCloudData* getInstance(PointCloud<PointXYZRGB> cloudArg);
|
||||
static PointCloudData* instance ;
|
||||
PointCloud<PointXYZRGB> getCloud() const;
|
||||
void setCloud(PointCloud<PointXYZRGB> cloudArg);
|
||||
boost::shared_ptr<visualization::PCLVisualizer> getViewer();
|
||||
void setViewer(boost::shared_ptr<visualization::PCLVisualizer> viewerArg);
|
||||
std::vector<int> getIndices();
|
||||
void setIndices(std::vector<int> indicesArg);
|
||||
Ui::ReconstructionClass getUI();
|
||||
void setUI(Ui::ReconstructionClass uiArg);
|
||||
int getNum();
|
||||
void setNum();
|
||||
};
|
||||
@@ -1,21 +1,14 @@
|
||||
#include "Reconstruction.h"
|
||||
#include "MyThread.h"
|
||||
#include "YourThread.h"
|
||||
|
||||
Reconstruction::Reconstruction(QWidget* parent)
|
||||
: QMainWindow(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
this->setWindowIcon(QIcon(":/icon/image/common/icon.png"));
|
||||
calibData = new CalibrationData();
|
||||
calibrator = new Calibrator();
|
||||
dirModel = new TreeModel(this);
|
||||
td = new YourThread(&cloud);
|
||||
t = new MyThread;
|
||||
htd = new HisThread(&cloud, &mesh);
|
||||
connect(td, SIGNAL(finished()), this, SLOT(setCloud()));
|
||||
connect(t, SIGNAL(finished()), this, SLOT(setCloud()));
|
||||
connect(htd, SIGNAL(finished()), this, SLOT(setCloud()));
|
||||
device = Device::getInstance();
|
||||
setStyle();
|
||||
}
|
||||
@@ -23,15 +16,6 @@ Reconstruction::Reconstruction(QWidget* parent)
|
||||
#pragma region Style
|
||||
void Reconstruction::setStyle()
|
||||
{
|
||||
boost::shared_ptr<visualization::PCLVisualizer> viewer(new visualization::PCLVisualizer("3D Viewer"));
|
||||
viewer->setBackgroundColor(0.458, 0.529, 0.844);
|
||||
viewer->initCameraParameters();
|
||||
auto pclData = PointCloudData::getInstance(cloud);
|
||||
pclData->setViewer(viewer);
|
||||
pclData->setUI(ui);
|
||||
ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
|
||||
ui.qvtkWidget->update();
|
||||
|
||||
this->setContentsMargins(0, 0, 0, 0);
|
||||
// this->setFixedSize(1240, 680);
|
||||
// ui.centralWidget->setGeometry(0, 40, 1240, 680);
|
||||
@@ -79,9 +63,6 @@ void Reconstruction::setPicStyle()
|
||||
ui.pushButton_6->setEnabled(false);
|
||||
ui.pushButton_7->setEnabled(false);
|
||||
ui.pushButton_8->setEnabled(false);
|
||||
ui.pushButton_9->setEnabled(false);
|
||||
ui.pushButton_10->setEnabled(false);
|
||||
ui.pushButton_19->setEnabled(false);
|
||||
}
|
||||
|
||||
ui.label_21->setPixmap(QPixmap(":/icon/image/projection/novideo.jpg"));
|
||||
@@ -112,9 +93,8 @@ void Reconstruction::setButtonStyle()
|
||||
// 三维重建界面
|
||||
ui.pushButton_13->setIcon(QIcon(":/icon/image/reconstruction/import.png"));
|
||||
ui.pushButton_14->setIcon(QIcon(":/icon/image/reconstruction/export.png"));
|
||||
ui.pushButton_15->setIcon(QIcon(":/icon/image/reconstruction/surface.png"));
|
||||
ui.pushButton_15->setIcon(QIcon(":/icon/image/reconstruction/save2.png"));
|
||||
ui.pushButton_16->setIcon(QIcon(":/icon/image/reconstruction/color.png"));
|
||||
ui.pushButton_18->setIcon(QIcon(":/icon/image/reconstruction/help2.png"));
|
||||
}
|
||||
#pragma endregion
|
||||
|
||||
@@ -131,10 +111,6 @@ void Reconstruction::on_pushButton_clicked()
|
||||
|
||||
void Reconstruction::on_pushButton_2_clicked()
|
||||
{
|
||||
if (device->getHasCamera())
|
||||
{
|
||||
liveViewTimer = startTimer(100);
|
||||
}
|
||||
ui.stackedWidget->setCurrentIndex(1);
|
||||
}
|
||||
|
||||
@@ -142,7 +118,7 @@ void Reconstruction::on_pushButton_3_clicked()
|
||||
{
|
||||
ui.stackedWidget->setCurrentIndex(2);
|
||||
updateQVTK(cloud, color);
|
||||
if (loadingStatus || reconstructStatus)
|
||||
if (loadingStatus)
|
||||
{
|
||||
ui.label_9->setVisible(true);
|
||||
}
|
||||
@@ -154,114 +130,30 @@ void Reconstruction::on_pushButton_3_clicked()
|
||||
#pragma endregion
|
||||
|
||||
#pragma region 多线程
|
||||
// 点云框选回调函数
|
||||
void pp_callback(const visualization::AreaPickingEvent& event, void* args)
|
||||
{
|
||||
auto pclData = PointCloudData::getInstance();
|
||||
PointCloud<PointXYZRGB>::Ptr cloudPtr(new PointCloud<PointXYZRGB>);
|
||||
cloudPtr = pclData->getCloud().makeShared();
|
||||
auto num = pclData->getNum();
|
||||
std::vector<int> indices;
|
||||
|
||||
if (event.getPointsIndices(indices) == -1)
|
||||
return;
|
||||
// cout << indices.size() << "\n";
|
||||
PointCloud<PointXYZRGB>::Ptr clicked_points_3d(new PointCloud<PointXYZRGB>);
|
||||
if(indices.size()>0){
|
||||
for (auto i = 0; i < indices.size(); ++i)
|
||||
{
|
||||
clicked_points_3d->points.push_back(cloudPtr->points.at(indices[i]));
|
||||
}
|
||||
visualization::PointCloudColorHandlerCustom<PointXYZRGB> red(clicked_points_3d, 255, 0, 0);
|
||||
std::stringstream ss;
|
||||
std::string cloudName;
|
||||
pclData->setNum();
|
||||
ss << num++;
|
||||
ss >> cloudName;
|
||||
cloudName += "_cloudName";
|
||||
|
||||
pclData->getViewer()->addPointCloud(clicked_points_3d, red, cloudName);
|
||||
pclData->getViewer()->
|
||||
setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 10, cloudName);
|
||||
// pclData->getViewer()->updatePointCloud(clicked_points_3d,"cloudName");
|
||||
pclData->setIndices(indices);
|
||||
pclData->getUI().qvtkWidget->SetRenderWindow(pclData->getViewer()->getRenderWindow());
|
||||
pclData->getUI().qvtkWidget->update();
|
||||
}
|
||||
}
|
||||
|
||||
void Reconstruction::setCloud()
|
||||
{
|
||||
ui.label_9->setVisible(false);
|
||||
|
||||
if(possionStatus)
|
||||
{
|
||||
auto pclData = PointCloudData::getInstance(cloud);
|
||||
pclData->getViewer()->removeAllPointClouds();
|
||||
pclData->getViewer()->addPolygonMesh(mesh, "my");
|
||||
possionStatus = false;
|
||||
}else
|
||||
{
|
||||
if (loadingStatus)
|
||||
{
|
||||
cloud = t->getCloud();
|
||||
loadingStatus = false;
|
||||
}
|
||||
|
||||
if (reconstructStatus)
|
||||
{
|
||||
reconstructStatus = false;
|
||||
}
|
||||
cout << cloud[0].r;
|
||||
|
||||
updateQVTK(cloud, color);
|
||||
}
|
||||
loadingStatus = false;
|
||||
cloud = t->getCloud();
|
||||
updateQVTK(cloud, color);
|
||||
}
|
||||
|
||||
void Reconstruction::updateQVTK(PointCloud<PointXYZRGB> cloud, QColor color)
|
||||
{
|
||||
boost::shared_ptr<visualization::PCLVisualizer> viewer;
|
||||
visualization::Camera camera;
|
||||
if (PointCloudData::getInstance() != nullptr)
|
||||
{
|
||||
auto pclData = PointCloudData::getInstance();
|
||||
pclData->setCloud(cloud);
|
||||
pclData->getViewer()->getCameraParameters(camera);
|
||||
cout << camera.pos[0] << "," << camera.pos[1] << "," << camera.pos[2] << "," << camera.
|
||||
view[0] <<
|
||||
"," << camera.view[1] << "," << camera.view[2] << "\n";
|
||||
viewer = pclData->getViewer();
|
||||
}
|
||||
else
|
||||
{
|
||||
boost::shared_ptr<visualization::PCLVisualizer> viewerArg(new visualization::PCLVisualizer("3D Viewer"));
|
||||
viewer = viewerArg;
|
||||
viewer->setBackgroundColor(0.458, 0.529, 0.844);
|
||||
viewer->initCameraParameters();
|
||||
viewer->getCameraParameters(camera);
|
||||
cout << camera.pos[0] << "," << camera.pos[1] << "," << camera.pos[2] << "," << camera.
|
||||
view[0] <<"," << camera.view[1] << "," << camera.view[2] << "\n";
|
||||
// viewer->setCameraPosition(50, -50, 1500,50,-50,1490,0, 1, 0, 0);
|
||||
auto pclData = PointCloudData::getInstance(cloud);
|
||||
pclData->setViewer(viewer);
|
||||
pclData->setUI(ui);
|
||||
}
|
||||
double size = 1;
|
||||
viewer->getPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, size, "cloud");
|
||||
viewer->removeAllPointClouds();
|
||||
// viewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud");
|
||||
boost::shared_ptr<visualization::PCLVisualizer> viewer(new visualization::PCLVisualizer("3D Viewer"));
|
||||
viewer->setBackgroundColor(0.458, 0.529, 0.844);
|
||||
viewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud");
|
||||
if (cloud.size() != 0)
|
||||
{
|
||||
PointCloud<PointXYZRGB>::Ptr cloudPtr(new PointCloud<PointXYZRGB>);
|
||||
cloudPtr = cloud.makeShared();
|
||||
auto x = int(color.redF() * 255);
|
||||
auto y = int(color.greenF() * 255);
|
||||
auto z = int(color.blueF() * 255);
|
||||
visualization::PointCloudColorHandlerCustom<PointXYZRGB> cloud_color(cloudPtr, x, y, z); // 统一处理点云颜色
|
||||
|
||||
int x = int(color.redF() * 255);
|
||||
int y = int(color.greenF() * 255);
|
||||
int z = int(color.blueF() * 255);
|
||||
visualization::PointCloudColorHandlerCustom<PointXYZRGB> cloud_color(cloudPtr, x, y, z);// 统一处理点云颜色
|
||||
viewer->addPointCloud(cloudPtr, cloud_color, "cloud");
|
||||
viewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, size, "cloud");
|
||||
// viewer->setCameraPosition(camera.pos[0], camera.pos[1], camera.pos[2], camera.view[0], camera.view[1], camera.view[2],0,0,1);
|
||||
viewer->registerAreaPickingCallback(pp_callback, (void*)&cloud);
|
||||
viewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud");
|
||||
}
|
||||
ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
|
||||
ui.qvtkWidget->update();
|
||||
@@ -303,19 +195,19 @@ void Reconstruction::on_pushButton_6_clicked()
|
||||
fstools::mkDir(tr("./config/calib"), tr(path));
|
||||
|
||||
device->getProjector()->displayPattern(0);
|
||||
Sleep(500);
|
||||
//QTest::qSleep(500);
|
||||
for (unsigned int i = 0; i < 44; i++)
|
||||
{
|
||||
// Project pattern
|
||||
device->getProjector()->displayPattern(i);
|
||||
Sleep(200);
|
||||
//QTest::qSleep(200);
|
||||
// Effectuate sleep (necessary with some camera implementations)
|
||||
QApplication::processEvents();
|
||||
|
||||
// Aquire frame
|
||||
auto frame = device->getCamera()->getFrame();
|
||||
auto frameCV = cvtools::camFrame2Mat(frame);
|
||||
cvtColor(frameCV, frameCV, COLOR_BGR2GRAY);
|
||||
cvtColor(frameCV, frameCV, cv::COLOR_BGR2GRAY);
|
||||
//parameter
|
||||
std::cout << cv::format("./config/calib/calib%.2d/%.2d.bmp", imgCount, i) << std::endl;
|
||||
imwrite(cv::format("./config/calib/calib%.2d/%.2d.bmp", imgCount, i), frameCV);
|
||||
@@ -446,13 +338,9 @@ void Reconstruction::timerEvent(QTimerEvent* event)
|
||||
// correct size only if label has no borders/frame!
|
||||
auto w = ui.label_11->width();
|
||||
auto h = ui.label_11->height();
|
||||
|
||||
auto pixmap = QPixmap::fromImage(qimage);
|
||||
ui.label_11->setPixmap(pixmap.scaled(w, h, Qt::KeepAspectRatio));
|
||||
|
||||
w = ui.label_21->width();
|
||||
h = ui.label_21->height();
|
||||
pixmap = QPixmap::fromImage(qimage);
|
||||
ui.label_21->setPixmap(pixmap.scaled(w, h, Qt::KeepAspectRatio));
|
||||
}
|
||||
|
||||
void Reconstruction::setDirModel(const QString& dirname)
|
||||
@@ -489,7 +377,7 @@ void Reconstruction::setDirModel(const QString& dirname)
|
||||
continue;
|
||||
}
|
||||
|
||||
// add the childrens
|
||||
// add the childrens
|
||||
auto parent = dirModel->index(row, 0);
|
||||
dirModel->setData(parent, item, Qt::DisplayRole);
|
||||
|
||||
@@ -595,45 +483,19 @@ void Reconstruction::on_pushButton_4_clicked()
|
||||
}
|
||||
|
||||
ui.lineEdit->setText(fileName);
|
||||
td->setPath(fileName.toStdString());
|
||||
// 投影结构光图案
|
||||
// device->getProjector()->displayPattern(44);
|
||||
// todo 接着进行投影操作
|
||||
}
|
||||
|
||||
// 投影图案
|
||||
void Reconstruction::on_pushButton_19_clicked()
|
||||
{
|
||||
device->getProjector()->displayPattern(44);
|
||||
// todo 接着进行投影操作
|
||||
}
|
||||
|
||||
// 相机拍照
|
||||
void Reconstruction::on_pushButton_9_clicked()
|
||||
{
|
||||
// todo 相机拍照
|
||||
killTimer(liveViewTimer);
|
||||
auto frame = device->getCamera()->getFrame();
|
||||
auto frameCV = cvtools::camFrame2Mat(frame);
|
||||
// cvtColor(frameCV, frameCV, cv::COLOR_BGR2GRAY);
|
||||
if (frameCV.rows == 0 || frameCV.cols == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
frameCV = frameCV.clone();
|
||||
auto qimage = cvtools::cvMat2qImage(frameCV);
|
||||
|
||||
// correct size only if label has no borders/frame!
|
||||
auto w = ui.label_21->width();
|
||||
auto h = ui.label_21->height();
|
||||
|
||||
auto pixmap = QPixmap::fromImage(qimage);
|
||||
ui.label_21->setPixmap(pixmap.scaled(w, h, Qt::KeepAspectRatio));
|
||||
// picPath = "Resources/image/test.png"; // 该行仅做测试使用
|
||||
// DisplayPic* picDlg = new DisplayPic();
|
||||
// picDlg->setPicPath(picPath);
|
||||
// connect(picDlg, SIGNAL(getPicAction(QString)), this, SLOT(setPicAction(QString)));
|
||||
// picDlg->show();
|
||||
picPath = "Resources/image/test.png"; // 该行仅做测试使用
|
||||
DisplayPic* picDlg = new DisplayPic();
|
||||
picDlg->setPicPath(picPath);
|
||||
connect(picDlg, SIGNAL(getPicAction(QString)), this, SLOT(setPicAction(QString)));
|
||||
picDlg->show();
|
||||
}
|
||||
|
||||
void Reconstruction::setPicAction(QString action)
|
||||
@@ -663,23 +525,18 @@ void Reconstruction::on_pushButton_10_clicked()
|
||||
|
||||
if (!fileName.isNull())
|
||||
{
|
||||
QScreen* screen = QGuiApplication::primaryScreen();
|
||||
|
||||
screen->grabWindow(ui.label_21->winId()).save(fileName);
|
||||
|
||||
|
||||
// QImage iim(picPath); //创建一个图片对象,存储源图片
|
||||
// QPainter painter(&iim); //设置绘画设备
|
||||
// QFile file(fileName); //创建一个文件对象,存储用户选择的文件
|
||||
// if (!file.open(QIODevice::ReadWrite))
|
||||
// {
|
||||
// return;
|
||||
// }
|
||||
// QByteArray ba;
|
||||
// QBuffer buffer(&ba);
|
||||
// buffer.open(QIODevice::WriteOnly);
|
||||
// iim.save(&buffer, "JPG"); //把图片以流方式写入文件缓存流中
|
||||
// file.write(ba); //将流中的图片写入文件对象当中
|
||||
QImage iim(picPath); //创建一个图片对象,存储源图片
|
||||
QPainter painter(&iim); //设置绘画设备
|
||||
QFile file(fileName); //创建一个文件对象,存储用户选择的文件
|
||||
if (!file.open(QIODevice::ReadWrite))
|
||||
{
|
||||
return;
|
||||
}
|
||||
QByteArray ba;
|
||||
QBuffer buffer(&ba);
|
||||
buffer.open(QIODevice::WriteOnly);
|
||||
iim.save(&buffer, "JPG"); //把图片以流方式写入文件缓存流中
|
||||
file.write(ba); //将流中的图片写入文件对象当中
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -693,11 +550,49 @@ void Reconstruction::on_pushButton_10_clicked()
|
||||
void Reconstruction::on_pushButton_17_clicked()
|
||||
{
|
||||
// todo 开始重建
|
||||
reconstructStatus = true;
|
||||
on_pushButton_3_clicked();
|
||||
ui.label_9->setVisible(true);
|
||||
QCoreApplication::processEvents();
|
||||
td->start();
|
||||
// auto cArg = CameraArguments::getInstance();
|
||||
Mat r(3, 3, CV_32F);
|
||||
double m0[3][3] = {
|
||||
{9.7004457782050868e-001, 1.3447278830863673e-002, 2.4255450466457243e-001},
|
||||
{-8.7082927494022376e-003, 9.9974988338843274e-001, -2.0599424802792338e-002},
|
||||
{-2.4277084396282392e-001, 1.7870124701864658e-002, 9.6991905639837694e-001}
|
||||
};
|
||||
for (auto i = 0; i < r.rows; i++)
|
||||
for (auto j = 0; j < r.cols; j++)
|
||||
r.at<float>(i, j) = m0[i][j];
|
||||
|
||||
Mat t(1, 3, CV_32F);
|
||||
double m1[1][3] = {
|
||||
{-1.9511179496234658e+002, 1.2627509817628756e+001, -5.9345885017522171e+001}
|
||||
};
|
||||
|
||||
for (auto i = 0; i < t.rows; i++)
|
||||
for (auto j = 0; j < t.cols; j++)
|
||||
t.at<float>(i, j) = m1[i][j];
|
||||
|
||||
Mat kc(3, 3, CV_32F);
|
||||
double m2[3][3] = {
|
||||
{2.1536653255083029e+003, 0., 6.1886776197116581e+002},
|
||||
{0., 2.1484363899666910e+003, 5.0694898820460787e+002},
|
||||
{0., 0., 1.}
|
||||
};
|
||||
for (auto i = 0; i < kc.rows; i++)
|
||||
for (auto j = 0; j < kc.cols; j++)
|
||||
kc.at<float>(i, j) = m2[i][j];
|
||||
|
||||
Mat kp(3, 3, CV_32F);
|
||||
double m3[3][3] = {
|
||||
{1.7235093158297350e+003, 0., 4.4128195628736904e+002},
|
||||
{0., 3.4533404000869359e+003, 5.7316457428558715e+002},
|
||||
{0., 0., 1.}
|
||||
};
|
||||
for (auto i = 0; i < kp.rows; i++)
|
||||
for (auto j = 0; j < kp.cols; j++)
|
||||
kp.at<float>(i, j) = m3[i][j];
|
||||
|
||||
auto cArg = CameraArguments::getInstance(r, t, kc, kp);
|
||||
CoreAlgorithm testCase = CoreAlgorithm("./Data/image/reconstruction/tq.png", cArg);
|
||||
testCase.run();
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
@@ -707,46 +602,28 @@ void Reconstruction::on_pushButton_17_clicked()
|
||||
// 异常点选择
|
||||
void Reconstruction::on_pushButton_11_clicked()
|
||||
{
|
||||
QMessageBox::information(this, tr("QMessageBox::information()"),
|
||||
"Please press the 'X' in the keyboard to choose the outlier points!");
|
||||
|
||||
// todo 异常点选择
|
||||
}
|
||||
|
||||
// 异常点剔除
|
||||
void Reconstruction::on_pushButton_12_clicked()
|
||||
{
|
||||
// todo 异常点剔除
|
||||
auto pclData = PointCloudData::getInstance();
|
||||
// cloud = pclData->getCloud();
|
||||
auto indices = pclData->getIndices();
|
||||
for (auto i = 0; i < indices.size(); ++i)
|
||||
{
|
||||
// cout << "i:" << i << " indices:" << indices[i] << " diff:" << indices[i]-i << "\n";
|
||||
auto index = cloud.begin() + (indices[i] - i);
|
||||
// cout << "size:" << cloudPtr->size() << ",index:" << indices[i] - i<<"\n" ;
|
||||
if (indices[i] - i >= cloud.size())break;
|
||||
cloud.erase(index);
|
||||
}
|
||||
indices.clear();
|
||||
pclData->setIndices(indices);
|
||||
pclData->setCloud(cloud);
|
||||
updateQVTK(cloud, color);
|
||||
// pclData->getViewer()->updatePointCloud();
|
||||
}
|
||||
|
||||
// 导入点云
|
||||
void Reconstruction::on_pushButton_13_clicked()
|
||||
{
|
||||
if (loadingStatus || reconstructStatus)
|
||||
if (loadingStatus)
|
||||
{
|
||||
QMessageBox mesg;
|
||||
mesg.warning(this, "WARNING", "There is a Point Cloud Loading.");
|
||||
mesg.warning(this, "WARNING", "正在加载… ");
|
||||
return;
|
||||
}
|
||||
|
||||
QString fileName = QFileDialog::getOpenFileName(
|
||||
this, tr("open multiple image file"),
|
||||
"./", tr("PCD files(*.pcd);;PLY files(*.ply);;All files (*.*)")); // todo 文件类型待确认
|
||||
"./", tr("PCD files(*.pcd);;All files (*.*)")); // todo 文件类型待确认
|
||||
|
||||
if (fileName.isEmpty())
|
||||
{
|
||||
@@ -754,53 +631,43 @@ void Reconstruction::on_pushButton_13_clicked()
|
||||
mesg.warning(this, "WARNING", "Failed to open file");
|
||||
return;
|
||||
}
|
||||
|
||||
boost::shared_ptr<visualization::PCLVisualizer> viewer(new visualization::PCLVisualizer("3D Viewer"));
|
||||
viewer->setBackgroundColor(0.458, 0.529, 0.844);
|
||||
viewer->initCameraParameters();
|
||||
// viewer->setCameraPosition(0, -10, -25, 0, 1, 0, 0, 1, 0, 0);
|
||||
// viewer->setPosition(0, 0);
|
||||
ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
|
||||
auto pclData = PointCloudData::getInstance(cloud);
|
||||
pclData->setViewer(viewer);
|
||||
|
||||
ui.label_9->setVisible(true);
|
||||
QCoreApplication::processEvents();
|
||||
t->setPcd(fileName);
|
||||
t->start();
|
||||
loadingStatus = true;
|
||||
|
||||
// todo 存储文件或文件路径
|
||||
}
|
||||
|
||||
// 导出结果
|
||||
void Reconstruction::on_pushButton_14_clicked()
|
||||
{
|
||||
QString fileName=QFileDialog::getSaveFileName(this, tr("Save to file"),
|
||||
"./", tr("PCD files(*.pcd);;PLY files(*.ply);;All files (*.*)"));
|
||||
|
||||
if (!fileName.isNull())
|
||||
{
|
||||
if (fileName.endsWith(".pcd", Qt::CaseInsensitive))
|
||||
io::savePCDFileBinary(fileName.toStdString(), cloud);
|
||||
else if (fileName.endsWith(".ply", Qt::CaseInsensitive))
|
||||
io::savePLYFileBinary(fileName.toStdString(), cloud);
|
||||
}
|
||||
|
||||
// todo 导出结果
|
||||
}
|
||||
|
||||
// 泊松曲面重建
|
||||
// 保存截图
|
||||
void Reconstruction::on_pushButton_15_clicked()
|
||||
{
|
||||
ui.label_9->setVisible(true);
|
||||
QCoreApplication::processEvents();
|
||||
htd->start();
|
||||
possionStatus = true;
|
||||
QString fileName = QFileDialog::getSaveFileName(this,
|
||||
tr("save screen shot"),
|
||||
"",
|
||||
tr("*.png;; *.jpg;; *.bmp;; All files(*.*)"));
|
||||
|
||||
if (!fileName.isNull())
|
||||
{
|
||||
// 截图所选的控件暂时用 label_17 替代
|
||||
QPixmap pix = QPixmap::grabWidget(ui.qvtkWidget);
|
||||
pix.save(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
// 颜色选取
|
||||
void Reconstruction::on_pushButton_16_clicked()
|
||||
{
|
||||
QColor colortmp = QColorDialog::getColor(Qt::black);
|
||||
if (colortmp.isValid())
|
||||
{
|
||||
if (colortmp.isValid()) {
|
||||
color = colortmp;
|
||||
updateQVTK(cloud, color);
|
||||
}
|
||||
@@ -812,5 +679,4 @@ void Reconstruction::on_pushButton_18_clicked()
|
||||
Help* help = new Help();
|
||||
help->show();
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
#pragma endregion
|
||||
|
||||
@@ -7,25 +7,13 @@
|
||||
#include <QBuffer>
|
||||
#include <QTextStream>
|
||||
#include <QStyleFactory>
|
||||
#include <QScreen>
|
||||
#include <QtTest/QtTest>
|
||||
#include "DisplayPic.h"
|
||||
#include "ui_Reconstruction.h"
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/pcd_io.h>
|
||||
#include <pcl/io/ply_io.h>
|
||||
#include <pcl/io/png_io.h>
|
||||
#include <pcl/visualization/pcl_visualizer.h>
|
||||
#include <pcl/io/vtk_lib_io.h>
|
||||
#include <vtkOutputwindow.h>
|
||||
#include <pcl\filters\statistical_outlier_removal.h>
|
||||
#include <pcl/filters/voxel_grid.h>
|
||||
#include <pcl/common/transforms.h>
|
||||
#include <vector>
|
||||
#include <pcl/io/obj_io.h>
|
||||
#include <pcl/PolygonMesh.h>
|
||||
#include <pcl/features/normal_3d.h>
|
||||
#include <pcl/features/normal_3d_omp.h>
|
||||
#include <vtkRenderWindow.h>
|
||||
#include <QProgressDialog>
|
||||
#include "Camera.h"
|
||||
@@ -35,19 +23,15 @@
|
||||
#include "Calibrator.h"
|
||||
#include "CalibrationData.h"
|
||||
#include "Device.h"
|
||||
#include "HisThread.h"
|
||||
#include "CoreAlgorithm.h"
|
||||
#include "MyThread.h"
|
||||
#include "Help.h"
|
||||
#include <iostream>
|
||||
|
||||
using namespace pcl;
|
||||
using namespace std;
|
||||
|
||||
enum Role { ImageFilenameRole = Qt::UserRole, GrayImageRole, ColorImageRole };
|
||||
|
||||
class MyThread;
|
||||
class YourThread;
|
||||
|
||||
class Reconstruction : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -66,25 +50,17 @@ private:
|
||||
QString picPath = "Result/result.png"; // 三维重建:拍摄照片的存储路径
|
||||
PointCloud<PointXYZRGB> cloud;
|
||||
bool confirmPic = false; // 三维重建:确定是否用所拍照片进行重建
|
||||
QColor color = Qt::yellow; // 点云渲染:颜色
|
||||
QColor color = Qt::black; // 点云渲染:颜色
|
||||
|
||||
// 标定相关变量
|
||||
int liveViewTimer;
|
||||
TreeModel* dirModel;
|
||||
CalibrationData* calibData;
|
||||
Calibrator* calibrator;
|
||||
int imgCount;
|
||||
|
||||
// 重建多线程
|
||||
YourThread *td;
|
||||
bool reconstructStatus = false; // 点云渲染
|
||||
|
||||
// 点云多线程
|
||||
MyThread *t;
|
||||
HisThread* htd;
|
||||
PolygonMesh mesh;
|
||||
// 多线程
|
||||
MyThread* t;
|
||||
bool loadingStatus = false; // 点云渲染
|
||||
bool possionStatus = false;
|
||||
void setStyle();
|
||||
void setPicStyle();
|
||||
void setButtonStyle();
|
||||
@@ -109,7 +85,6 @@ private slots:
|
||||
void on_pushButton_16_clicked();
|
||||
void on_pushButton_17_clicked();
|
||||
void on_pushButton_18_clicked();
|
||||
void on_pushButton_19_clicked();
|
||||
void setPicAction(QString action);
|
||||
void setCloud();
|
||||
};
|
||||
@@ -1,74 +0,0 @@
|
||||
#include "YourThread.h"
|
||||
|
||||
YourThread::YourThread(PointCloud<PointXYZRGB> *cloudRef)
|
||||
{
|
||||
cloud = cloudRef;
|
||||
}
|
||||
|
||||
void YourThread::run()
|
||||
{
|
||||
// auto cArg = CameraArguments::getInstance();
|
||||
Mat r(3, 3, CV_32F);
|
||||
double m0[3][3] = {
|
||||
{9.7004457782050868e-001, 1.3447278830863673e-002, 2.4255450466457243e-001},
|
||||
{-8.7082927494022376e-003, 9.9974988338843274e-001, -2.0599424802792338e-002},
|
||||
{-2.4277084396282392e-001, 1.7870124701864658e-002, 9.6991905639837694e-001}
|
||||
};
|
||||
for (auto i = 0; i < r.rows; i++)
|
||||
for (auto j = 0; j < r.cols; j++)
|
||||
r.at<float>(i, j) = m0[i][j];
|
||||
|
||||
Mat t(1, 3, CV_32F);
|
||||
double m1[1][3] = {
|
||||
{-1.9511179496234658e+002, 1.2627509817628756e+001, -5.9345885017522171e+001}
|
||||
};
|
||||
|
||||
for (auto i = 0; i < t.rows; i++)
|
||||
for (auto j = 0; j < t.cols; j++)
|
||||
t.at<float>(i, j) = m1[i][j];
|
||||
|
||||
Mat kc(3, 3, CV_32F);
|
||||
double m2[3][3] = {
|
||||
{2.1536653255083029e+003, 0., 6.1886776197116581e+002},
|
||||
{0., 2.1484363899666910e+003, 5.0694898820460787e+002},
|
||||
{0., 0., 1.}
|
||||
};
|
||||
for (auto i = 0; i < kc.rows; i++)
|
||||
for (auto j = 0; j < kc.cols; j++)
|
||||
kc.at<float>(i, j) = m2[i][j];
|
||||
|
||||
Mat kp(3, 3, CV_32F);
|
||||
double m3[3][3] = {
|
||||
{1.7235093158297350e+003, 0., 4.4128195628736904e+002},
|
||||
{0., 3.4533404000869359e+003, 5.7316457428558715e+002},
|
||||
{0., 0., 1.}
|
||||
};
|
||||
for (auto i = 0; i < kp.rows; i++)
|
||||
for (auto j = 0; j < kp.cols; j++)
|
||||
kp.at<float>(i, j) = m3[i][j];
|
||||
|
||||
auto cArg = CameraArguments::getInstance(r, t, kc, kp);
|
||||
CoreAlgorithm testCase = CoreAlgorithm(path, cArg);
|
||||
testCase.run();
|
||||
vector<Mat> coordinates=testCase.getCoordinates();
|
||||
cloud->width = coordinates.size();
|
||||
cloud->height = 1;
|
||||
cloud->is_dense = false;
|
||||
cloud->points.resize(cloud->width * cloud->height);
|
||||
auto index = 0;
|
||||
for (size_t i = 0; i < cloud->points.size(); ++i)
|
||||
{
|
||||
cloud->points[i].x = coordinates[index].at<float>(0, 0);
|
||||
cloud->points[i].y = coordinates[index].at<float>(0, 1);
|
||||
cloud->points[i].z = coordinates[index].at<float>(0, 2);
|
||||
index++;
|
||||
}
|
||||
|
||||
auto pclData = PointCloudData::getInstance(*cloud);
|
||||
pclData->setCloud(*cloud);
|
||||
}
|
||||
|
||||
void YourThread::setPath(string pathArg)
|
||||
{
|
||||
path = pathArg;
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <qthread.h>
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/vtk_lib_io.h>
|
||||
#include "PointCloudData.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace pcl;
|
||||
|
||||
class YourThread :
|
||||
public QThread
|
||||
{
|
||||
public:
|
||||
YourThread(PointCloud<PointXYZRGB> *cloud);
|
||||
~YourThread(){}
|
||||
void setPath(string pathArg);
|
||||
|
||||
|
||||
private:
|
||||
PointCloud<PointXYZRGB> *cloud;
|
||||
string path;
|
||||
protected:
|
||||
void run();
|
||||
};
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// AllocConsole();//分配控制台
|
||||
// freopen("CONOUT$", "w+t", stdout);//向控制台输出
|
||||
AllocConsole();//分配控制台
|
||||
freopen("CONOUT$", "w+t", stdout);//向控制台输出
|
||||
QApplication a(argc, argv);
|
||||
Loading l;
|
||||
l.show();
|
||||
|
||||
3071
Data/result/1.pcd
3071
Data/result/1.pcd
File diff suppressed because it is too large
Load Diff
176786
Data/result/ball.pcd
176786
Data/result/ball.pcd
File diff suppressed because it is too large
Load Diff
35958
Data/result/bunny.pcd
35958
Data/result/bunny.pcd
File diff suppressed because it is too large
Load Diff
100011
Data/result/rail.pcd
100011
Data/result/rail.pcd
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
12
Readme.md
12
Readme.md
@@ -2,7 +2,7 @@
|
||||
|
||||
高铁列车运行速度快,轮轨表面相对光滑且无明显特征点,使得特征不易提取,点云重建精度较差,给三维重建带来了很大的困难。
|
||||
|
||||
<div class="imgs" align="center" ><img src="http://static.zybuluo.com/TangWill/83s2b1jh93zumwaeavyhn0w2/00.gif" alt="01" width="45%" height="45%"/></div>
|
||||
<div class="imgs" align="center" ><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/00.gif" alt="01" width="45%" height="45%" /> </div>
|
||||
|
||||
针对高铁列车速度快的特点,可以通过采用非接触的测量方法 —— 计算机视觉。物体表面的点云三维重建在机器视觉领域已经成为一个很重要的研究方向。点云即物体表面特征点的集合,这些点包含了物体表面的三维坐标以及颜色等信息。点云的重建方法包括基于结构光的三维重建技术、光照模型、基于单目视觉或双目视觉的重建方法等。
|
||||
|
||||
@@ -12,24 +12,24 @@
|
||||
|
||||
项目前期,对项目研究内容进行深入了解,根据研究内容查阅相关文献资料,了解了目前各项技术研究现状,能够明白经典方法的原理并能够将其实现。在学习并理解了研究内容及相关原理的基础上,对空间编码中的基于 De Bruijn 序列编码和基于伪随机矩阵编码两种方式的有关理论及其相关论文进行了学习,部分论文如下所示。
|
||||
|
||||
<div class="imgs" align="center" ><img src="http://static.zybuluo.com/TangWill/epo24nprhgogp1g0s38hiwy7/02.png" alt="03" width="30%" height="30%" /> <img src="http://static.zybuluo.com/TangWill/6q8x3x920nxdyluimu43gut1/03.png" alt="04" width="30%" height="30%" /> <img src="http://static.zybuluo.com/TangWill/z6giu9sqibq08fc1crweplxa/04.png" alt="05" width="30%" height="30%" /></div>
|
||||
<div class="imgs" align="center" ><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/02.png" alt="03" width="30%" height="30%" /> <img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/03.png" alt="04" width="30%" height="30%" /> <img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/04.png" alt="05" width="30%" height="30%" /></div>
|
||||
|
||||
项目中期,对前期所阅读的文献和经典算法的实现进行研究、归纳、整理。参照本项目的研究内容拟选出适用的相关算法与技术,提出实验思路,制定实验方案。
|
||||
|
||||
伪随机序列具有良好的窗口特性,即通过一个较小的窗口在编码图案上面移动时,每个窗口内的编码组合是唯一的,根据窗口的这个特性可以唯一地辨识编码图案上的特征点。复现论文的本原多项式采用 h(x)=2𝑥^6+2𝑥^5+𝑥^4+3𝑥^3+2𝑥^2+2𝑥+1,菱形作为结构光编码图案的基本元素,红、蓝、绿、黑四种颜色作为标记菱形代表的不同数值,窗口大小为$2\times 3$,同时以菱形角点作为特征点,可以有效提高特征点提取的精度。根据论文提出的结构光解码方法,可有效提取物体表面特征点,但由于角点数量较少,不能达到稠密点云的效果,未来可以通过改善相机分辨率,减小菱形面积,增加特征点等方式以提高特征点的密度。部分参考论文和实验结果如下。
|
||||
|
||||
<div class="imgs" align="center" ><img src="http://static.zybuluo.com/TangWill/z6giu9sqibq08fc1crweplxa/04.png" alt="06" width="22%" height="22%" /> <img src="http://static.zybuluo.com/TangWill/9jljaktk7e3qso61by60pohf/05.png" alt="07" width="22%" height="22%" /> <img src="http://static.zybuluo.com/TangWill/1wqxgxn4iwdicq1v9rs04e1x/06.png" alt="08" width="22%" height="22%" /><img src="http://static.zybuluo.com/TangWill/s3gah640whmsbfxoxzg2pqib/07.png" alt="09" width="22%" height="22%" /></div>
|
||||
<div class="imgs" align="center" ><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/04.png" alt="06" width="22%" height="22%" /> <img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/05.png" alt="07" width="22%" height="22%" /> <img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/06.png" alt="08" width="22%" height="22%" /><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/07.png" alt="09" width="22%" height="22%" /></div>
|
||||
|
||||
De Bruijn 序列由n种不同元素构成,任意长度为m的连续子序列只出现一次。复现的论文以 B(3,4) 序列进行编码,条纹作为结构光编码图案的基本元素,红、蓝、绿三种颜色作为标记条纹代表的不同数值,窗口大小为 4*1,以条纹中心点作为特征点。同时在 HSV 颜色空间模型中,以余弦函数对条纹的 V 通道进行编码。在结构光解码时,除了提取条纹中心点作为特征点,同时对拍摄到的图像的 V 通道进行加窗傅里叶变换分析,通过分析得到的相位进而增加特征点的密度。根据论文的基本思路,可在提高提取点云进度的同时增加点云的稠密度,实验效果较好。根据项目内容和有关研究的进展,在研究论文和实验的基础上,对复现论文的算法进行改进,提出适合项目场景的算法流程。部分论文如下。
|
||||
|
||||
<div class="imgs" align="center" ><img src="http://static.zybuluo.com/TangWill/i9bvx3xay0c8v4040hjzulcv/08.png" alt="10" width="22%" height="22%" /> <img src="http://static.zybuluo.com/TangWill/wspx83923ujobnjysj4y2l3h/09.png" alt="11" width="22%" height="22%" /> <img src="http://static.zybuluo.com/TangWill/pflvpf9yzwkfw8csn0at2trl/10.png" alt="12" width="22%" height="22%" /><img src="http://static.zybuluo.com/TangWill/v0cdilgqhy1k4oqaw2dhdpgh/11.png" alt="13" width="22%" height="22%" /></div>
|
||||
<div class="imgs" align="center" ><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/08.png" alt="10" width="22%" height="22%" /> <img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/09.png" alt="11" width="22%" height="22%" /> <img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/10.png" alt="12" width="22%" height="22%" /><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/11.png" alt="13" width="22%" height="22%" /></div>
|
||||
|
||||
基于改进的算法对球体表面进行重建,得到约 17W 条点云数据,在 Meshlab 中对点云数据进行渲染,实验结果如下。
|
||||
<div class="imgs" align="center" ><img src="http://static.zybuluo.com/TangWill/etw2k42uqvbb63zyvbry0ki6/13.png" alt="14" /></div>
|
||||
<div class="imgs" align="center" ><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/13.png" alt="14" /></div>
|
||||
|
||||
改用以 B(4,3) 序列进行编码,条纹作为结构光编码图案的基本元素,红、蓝、绿、白四种颜色作为标记条纹代表的不同数值,窗口大小为 3*1,以条纹中心点作为特征点。同样对球体表面进行重建,得到约 20W 条点云数据,在 Meshlab 中对点云数据进行渲染,实验结果如下。
|
||||
|
||||
<div class="imgs" align="center" ><img src="http://static.zybuluo.com/TangWill/8z4qxmk5467d6r7rpr1brpkg/14.png" alt="15" /></div>
|
||||
<div class="imgs" align="center" ><img src="https://5618.oss-cn-beijing.aliyuncs.com/wordpress/image/00/14.png" alt="15" /></div>
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource1.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// 中文(简体,中国) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
#pragma code_page(936)
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource1.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "icon1.ico"
|
||||
|
||||
IDI_ICON2 ICON "D:\\BJTU\\Reconstruction\\Resources\\image\\common\\icon.ico"
|
||||
|
||||
#endif // 中文(简体,中国) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
@@ -39,12 +39,8 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<IncludePath>D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\VTK\include\vtk-8.0;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Qhull\include;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\FLANN\include;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Eigen\eigen3;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Boost\include\boost-1_64;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\include\pcl-1.8;C:\Program Files\OpenNI2\Include;D:\BJTU\Reconstruction\Lib\FlyCapture2\include;D:\BJTU\Reconstruction\Lib\FlyCapture2\include\C;D:\BJTU\Reconstruction\Lib\opencv\build\include;D:\BJTU\Reconstruction\Lib\opencv\build\include\opencv2;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Boost\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\FLANN\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Qhull\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\VTK\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\lib;C:\Program Files\OpenNI2\Lib;D:\BJTU\Reconstruction\Lib\FlyCapture2\lib64;D:\BJTU\Reconstruction\Lib\FlyCapture2\lib64\vs2015;D:\BJTU\Reconstruction\Lib\opencv\build\x64\vc15\lib;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<IncludePath>D:\BJTU\Reconstruction\Lib\opencv\build\include\opencv2;D:\BJTU\Reconstruction\Lib\opencv\build\include;D:\BJTU\Reconstruction\Lib\FlyCapture2\include;D:\BJTU\Reconstruction\Lib\FlyCapture2\include\C;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\VTK\include\vtk-8.0;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Qhull\include;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\FLANN\include;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Eigen\eigen3;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Boost\include\boost-1_64;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\include\pcl-1.8;C:\Program Files\OpenNI2\Include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\VTK\lib;D:\BJTU\Reconstruction\Lib\opencv\build\x64\vc15\lib;D:\BJTU\Reconstruction\Lib\FlyCapture2\lib64\vs2015;D:\BJTU\Reconstruction\Lib\FlyCapture2\lib64;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Boost\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\FLANN\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\3rdParty\Qhull\lib;D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\lib;C:\Program Files\OpenNI2\Lib;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>D:\BJTU\Reconstruction\Lib\FlyCapture2\include;D:\BJTU\Reconstruction\Lib\FlyCapture2\include\C;D:\BJTU\Reconstruction\Lib\opencv\build\include;D:\BJTU\Reconstruction\Lib\opencv\build\include\opencv2;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>D:\BJTU\Reconstruction\Lib\FlyCapture2\lib64;D:\BJTU\Reconstruction\Lib\FlyCapture2\lib64\vs2015;D:\BJTU\Reconstruction\Lib\opencv\build\x64\vc15\lib;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
|
||||
<Import Project="$(QtMsBuild)\qt_defaults.props" />
|
||||
@@ -67,14 +63,12 @@
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setupapi.lib;opencv_world420d.lib;FlyCapture2d_v140.lib;FlyCapture2GUId_v140.lib;pcl_common_debug.lib;pcl_features_debug.lib;pcl_filters_debug.lib;pcl_io_debug.lib;pcl_io_ply_debug.lib;pcl_kdtree_debug.lib;pcl_keypoints_debug.lib;pcl_ml_debug.lib;pcl_octree_debug.lib;pcl_outofcore_debug.lib;pcl_people_debug.lib;pcl_recognition_debug.lib;pcl_registration_debug.lib;pcl_sample_consensus_debug.lib;pcl_search_debug.lib;pcl_segmentation_debug.lib;pcl_stereo_debug.lib;pcl_surface_debug.lib;pcl_tracking_debug.lib;pcl_visualization_debug.lib;vtkalglib-8.0-gd.lib;vtkChartsCore-8.0-gd.lib;vtkCommonColor-8.0-gd.lib;vtkCommonComputationalGeometry-8.0-gd.lib;vtkCommonCore-8.0-gd.lib;vtkCommonDataModel-8.0-gd.lib;vtkCommonExecutionModel-8.0-gd.lib;vtkCommonMath-8.0-gd.lib;vtkCommonMisc-8.0-gd.lib;vtkCommonSystem-8.0-gd.lib;vtkCommonTransforms-8.0-gd.lib;vtkDICOMParser-8.0-gd.lib;vtkDomainsChemistry-8.0-gd.lib;vtkDomainsChemistryOpenGL2-8.0-gd.lib;vtkexoIIc-8.0-gd.lib;vtkexpat-8.0-gd.lib;vtkFiltersAMR-8.0-gd.lib;vtkFiltersCore-8.0-gd.lib;vtkFiltersExtraction-8.0-gd.lib;vtkFiltersFlowPaths-8.0-gd.lib;vtkFiltersGeneral-8.0-gd.lib;vtkFiltersGeneric-8.0-gd.lib;vtkFiltersGeometry-8.0-gd.lib;vtkFiltersHybrid-8.0-gd.lib;vtkFiltersHyperTree-8.0-gd.lib;vtkFiltersImaging-8.0-gd.lib;vtkFiltersModeling-8.0-gd.lib;vtkFiltersParallel-8.0-gd.lib;vtkFiltersParallelImaging-8.0-gd.lib;vtkFiltersPoints-8.0-gd.lib;vtkFiltersProgrammable-8.0-gd.lib;vtkFiltersSelection-8.0-gd.lib;vtkFiltersSMP-8.0-gd.lib;vtkFiltersSources-8.0-gd.lib;vtkFiltersStatistics-8.0-gd.lib;vtkFiltersTexture-8.0-gd.lib;vtkFiltersTopology-8.0-gd.lib;vtkFiltersVerdict-8.0-gd.lib;vtkfreetype-8.0-gd.lib;vtkGeovisCore-8.0-gd.lib;vtkgl2ps-8.0-gd.lib;vtkglew-8.0-gd.lib;vtkGUISupportQt-8.0-gd.lib;vtkGUISupportQtSQL-8.0-gd.lib;vtkhdf5-8.0-gd.lib;vtkhdf5_hl-8.0-gd.lib;vtkImagingColor-8.0-gd.lib;vtkImagingCore-8.0-gd.lib;vtkImagingFourier-8.0-gd.lib;vtkImagingGeneral-8.0-gd.lib;vtkImagingHybrid-8.0-gd.lib;vtkImagingMath-8.0-gd.lib;vtkImagingMorphological-8.0-gd.lib;vtkImagingSources-8.0-gd.lib;vtkImagingStatistics-8.0-gd.lib;vtkImagingStencil-8.0-gd.lib;vtkInfovisCore-8.0-gd.lib;vtkInfovisLayout-8.0-gd.lib;vtkInteractionImage-8.0-gd.lib;vtkInteractionStyle-8.0-gd.lib;vtkInteractionWidgets-8.0-gd.lib;vtkIOAMR-8.0-gd.lib;vtkIOCore-8.0-gd.lib;vtkIOEnSight-8.0-gd.lib;vtkIOExodus-8.0-gd.lib;vtkIOExport-8.0-gd.lib;vtkIOExportOpenGL2-8.0-gd.lib;vtkIOGeometry-8.0-gd.lib;vtkIOImage-8.0-gd.lib;vtkIOImport-8.0-gd.lib;vtkIOInfovis-8.0-gd.lib;vtkIOLegacy-8.0-gd.lib;vtkIOLSDyna-8.0-gd.lib;vtkIOMINC-8.0-gd.lib;vtkIOMovie-8.0-gd.lib;vtkIONetCDF-8.0-gd.lib;vtkIOParallel-8.0-gd.lib;vtkIOParallelXML-8.0-gd.lib;vtkIOPLY-8.0-gd.lib;vtkIOSQL-8.0-gd.lib;vtkIOTecplotTable-8.0-gd.lib;vtkIOVideo-8.0-gd.lib;vtkIOXML-8.0-gd.lib;vtkIOXMLParser-8.0-gd.lib;vtkjpeg-8.0-gd.lib;vtkjsoncpp-8.0-gd.lib;vtklibharu-8.0-gd.lib;vtklibxml2-8.0-gd.lib;vtklz4-8.0-gd.lib;vtkmetaio-8.0-gd.lib;vtkNetCDF-8.0-gd.lib;vtknetcdf_c++-gd.lib;vtkoggtheora-8.0-gd.lib;vtkParallelCore-8.0-gd.lib;vtkpng-8.0-gd.lib;vtkproj4-8.0-gd.lib;vtkRenderingAnnotation-8.0-gd.lib;vtkRenderingContext2D-8.0-gd.lib;vtkRenderingContextOpenGL2-8.0-gd.lib;vtkRenderingCore-8.0-gd.lib;vtkRenderingFreeType-8.0-gd.lib;vtkRenderingGL2PSOpenGL2-8.0-gd.lib;vtkRenderingImage-8.0-gd.lib;vtkRenderingLabel-8.0-gd.lib;vtkRenderingLOD-8.0-gd.lib;vtkRenderingOpenGL2-8.0-gd.lib;vtkRenderingQt-8.0-gd.lib;vtkRenderingVolume-8.0-gd.lib;vtkRenderingVolumeOpenGL2-8.0-gd.lib;vtksqlite-8.0-gd.lib;vtksys-8.0-gd.lib;vtktiff-8.0-gd.lib;vtkverdict-8.0-gd.lib;vtkViewsContext2D-8.0-gd.lib;vtkViewsCore-8.0-gd.lib;vtkViewsInfovis-8.0-gd.lib;vtkViewsQt-8.0-gd.lib;vtkzlib-8.0-gd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>setupapi.lib;opencv_world420d.lib;FlyCapture2d_v140.lib;FlyCapture2GUId_v140.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
@@ -83,66 +77,29 @@
|
||||
<DebugInformationFormat />
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setupapi.lib;opencv_world420.lib;FlyCapture2_v140.lib;FlyCapture2GUI_v140.lib;qtmain.lib;shell32.lib;Qt5Widgets.lib;Qt5Gui.lib;Qt5Core.lib;pcl_common_release.lib;pcl_features_release.lib;pcl_filters_release.lib;pcl_io_ply_release.lib;pcl_io_release.lib;pcl_kdtree_release.lib;pcl_keypoints_release.lib;pcl_ml_release.lib;pcl_octree_release.lib;pcl_outofcore_release.lib;pcl_people_release.lib;pcl_recognition_release.lib;pcl_registration_release.lib;pcl_sample_consensus_release.lib;pcl_search_release.lib;pcl_segmentation_release.lib;pcl_stereo_release.lib;pcl_surface_release.lib;pcl_tracking_release.lib;pcl_visualization_release.lib;flann.lib;flann_cpp.lib;flann_cpp_s.lib;flann_s.lib;qhull_d.lib;qhullcpp_d.lib;qhullstatic_d.lib;qhullstatic_r_d.lib;qhull_p_d.lib;qhull_r_d.lib;vtkGUISupportQt-8.0.lib;vtkRenderingOpenGL2-8.0.lib;vtkglew-8.0.lib;vtkInteractionImage-8.0.lib;vtkInteractionWidgets-8.0.lib;vtkFiltersHybrid-8.0.lib;vtkFiltersModeling-8.0.lib;vtkImagingGeneral-8.0.lib;vtkImagingHybrid-8.0.lib;vtkRenderingAnnotation-8.0.lib;vtkRenderingFreeType-8.0.lib;vtkfreetype-8.0.lib;vtkRenderingVolume-8.0.lib;vtkIOXML-8.0.lib;vtkIOXMLParser-8.0.lib;vtkexpat-8.0.lib;vtkInteractionStyle-8.0.lib;vtkFiltersExtraction-8.0.lib;vtkFiltersStatistics-8.0.lib;vtkImagingFourier-8.0.lib;vtkalglib-8.0.lib;vtkImagingSources-8.0.lib;vtkIOImage-8.0.lib;vtkDICOMParser-8.0.lib;vtkmetaio-8.0.lib;vtkpng-8.0.lib;vtktiff-8.0.lib;vtkjpeg-8.0.lib;vtkImagingColor-8.0.lib;vtkImagingCore-8.0.lib;vtkRenderingCore-8.0.lib;vtkFiltersSources-8.0.lib;vtkFiltersGeneral-8.0.lib;vtkCommonComputationalGeometry-8.0.lib;vtkCommonColor-8.0.lib;vtkFiltersGeometry-8.0.lib;vtkFiltersCore-8.0.lib;vtkIOCore-8.0.lib;vtkCommonExecutionModel-8.0.lib;vtkCommonDataModel-8.0.lib;vtkCommonTransforms-8.0.lib;vtkCommonMisc-8.0.lib;vtkCommonMath-8.0.lib;vtkCommonSystem-8.0.lib;vtkCommonCore-8.0.lib;vtksys-8.0.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<QtUic Include="UI\DisplayPic.ui" />
|
||||
<QtUic Include="UI\Help.ui" />
|
||||
<QtUic Include="UI\Loading.ui" />
|
||||
<QtUic Include="UI\Reconstruction.ui" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Classes\API.cpp" />
|
||||
<ClCompile Include="Classes\bsxfun.cpp" />
|
||||
<ClCompile Include="Classes\CalibrationData.cpp" />
|
||||
<ClCompile Include="Classes\Calibrator.cpp" />
|
||||
<ClCompile Include="Classes\Camera.cpp" />
|
||||
<ClCompile Include="Classes\CameraPointGrey.cpp" />
|
||||
<ClCompile Include="Classes\CameraArguments.cpp" />
|
||||
<ClCompile Include="Classes\CoreAlgorithm.cpp" />
|
||||
<ClCompile Include="Classes\cvtools.cpp" />
|
||||
<ClCompile Include="Classes\cwt.cpp" />
|
||||
<ClCompile Include="Classes\cwtfilterbank.cpp" />
|
||||
<ClCompile Include="Classes\cwtfreqlimits.cpp" />
|
||||
<ClCompile Include="Classes\cwt_data.cpp" />
|
||||
<ClCompile Include="Classes\cwt_emxAPI.cpp" />
|
||||
<ClCompile Include="Classes\cwt_emxutil.cpp" />
|
||||
<ClCompile Include="Classes\cwt_initialize.cpp" />
|
||||
<ClCompile Include="Classes\cwt_rtwutil.cpp" />
|
||||
<ClCompile Include="Classes\cwt_terminate.cpp" />
|
||||
<ClCompile Include="Classes\Device.cpp" />
|
||||
<ClCompile Include="Classes\CameraArguments.cpp" />
|
||||
<ClCompile Include="Classes\DisplayPic.cpp" />
|
||||
<ClCompile Include="Classes\fft.cpp" />
|
||||
<ClCompile Include="Classes\fft1.cpp" />
|
||||
<ClCompile Include="Classes\fstools.cpp" />
|
||||
<ClCompile Include="Classes\gammaln.cpp" />
|
||||
<ClCompile Include="Classes\Help.cpp" />
|
||||
<ClCompile Include="Classes\hid.Win.c" />
|
||||
<ClCompile Include="Classes\HisThread.cpp" />
|
||||
<ClCompile Include="Classes\ifft.cpp" />
|
||||
<ClCompile Include="Classes\Loading.cpp" />
|
||||
<ClCompile Include="Classes\log2.cpp" />
|
||||
<ClCompile Include="Classes\main.cpp" />
|
||||
<ClCompile Include="Classes\MyThread.cpp" />
|
||||
<ClCompile Include="Classes\PointCloudData.cpp" />
|
||||
<ClCompile Include="Classes\ProjectorLC4500.cpp" />
|
||||
<ClCompile Include="Classes\Reconstruction.cpp" />
|
||||
<ClCompile Include="Classes\rtGetInf.cpp" />
|
||||
<ClCompile Include="Classes\rtGetNaN.cpp" />
|
||||
<ClCompile Include="Classes\rt_nonfinite.cpp" />
|
||||
<ClCompile Include="Classes\structured_light.cpp" />
|
||||
<ClCompile Include="Classes\TreeModel.cpp" />
|
||||
<ClCompile Include="Classes\usb.cpp" />
|
||||
<ClCompile Include="Classes\wavCFandSD.cpp" />
|
||||
<ClCompile Include="Classes\YourThread.cpp" />
|
||||
<ClCompile Include="Lib\projector\LC4500API\API.cpp" />
|
||||
<ClCompile Include="Lib\projector\LC4500API\hid.Win.c" />
|
||||
<ClCompile Include="Lib\projector\LC4500API\usb.cpp" />
|
||||
<ClCompile Include="Lib\projector\ProjectorLC4500.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="Classes\Reconstruction.h" />
|
||||
@@ -151,61 +108,16 @@
|
||||
<QtRcc Include="Resources\Reconstruction.qrc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Classes\API.h" />
|
||||
<ClInclude Include="Classes\bsxfun.h" />
|
||||
<ClInclude Include="Classes\CalibrationData.h" />
|
||||
<ClInclude Include="Classes\Calibrator.h" />
|
||||
<ClInclude Include="Classes\Camera.h" />
|
||||
<ClInclude Include="Classes\CameraPointGrey.h" />
|
||||
<ClInclude Include="Classes\CoreAlgorithm.h" />
|
||||
<ClInclude Include="Classes\CameraArguments.h" />
|
||||
<ClInclude Include="Classes\HisThread.h" />
|
||||
<ClInclude Include="Classes\PointCloudData.h" />
|
||||
<ClInclude Include="Classes\YourThread.h" />
|
||||
<ClInclude Include="resource1.h" />
|
||||
<QtMoc Include="Classes\Loading.h" />
|
||||
<QtMoc Include="Classes\DisplayPic.h" />
|
||||
<ClInclude Include="Classes\Common.h" />
|
||||
<ClInclude Include="Classes\CoreAlgorithm.h" />
|
||||
<ClInclude Include="Classes\cvtools.h" />
|
||||
<ClInclude Include="Classes\cwt.h" />
|
||||
<ClInclude Include="Classes\cwtfilterbank.h" />
|
||||
<ClInclude Include="Classes\cwtfreqlimits.h" />
|
||||
<ClInclude Include="Classes\cwt_data.h" />
|
||||
<ClInclude Include="Classes\cwt_emxAPI.h" />
|
||||
<ClInclude Include="Classes\cwt_emxutil.h" />
|
||||
<ClInclude Include="Classes\cwt_initialize.h" />
|
||||
<ClInclude Include="Classes\cwt_rtwutil.h" />
|
||||
<ClInclude Include="Classes\cwt_terminate.h" />
|
||||
<ClInclude Include="Classes\cwt_types.h" />
|
||||
<ClInclude Include="Classes\Device.h" />
|
||||
<ClInclude Include="Classes\fft.h" />
|
||||
<ClInclude Include="Classes\fft1.h" />
|
||||
<ClInclude Include="Classes\fstools.h" />
|
||||
<ClInclude Include="Classes\gammaln.h" />
|
||||
<QtMoc Include="Classes\Help.h" />
|
||||
<ClInclude Include="Classes\hidapi.h" />
|
||||
<ClInclude Include="Classes\ifft.h" />
|
||||
<ClInclude Include="Classes\log2.h" />
|
||||
<ClInclude Include="Classes\MyThread.h" />
|
||||
<ClInclude Include="Classes\Projector.h" />
|
||||
<ClInclude Include="Classes\ProjectorLC4500.h" />
|
||||
<ClInclude Include="Classes\rtGetInf.h" />
|
||||
<ClInclude Include="Classes\rtGetNaN.h" />
|
||||
<ClInclude Include="Classes\rtwtypes.h" />
|
||||
<ClInclude Include="Classes\rt_defines.h" />
|
||||
<ClInclude Include="Classes\rt_nonfinite.h" />
|
||||
<ClInclude Include="Classes\structured_light.h" />
|
||||
<ClInclude Include="Classes\tmwtypes.h" />
|
||||
<ClInclude Include="Classes\TreeModel.h" />
|
||||
<ClInclude Include="Classes\usb.h" />
|
||||
<ClInclude Include="Classes\wavCFandSD.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Reconstruction.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="icon1.ico" />
|
||||
<Image Include="Resources\image\common\icon.ico" />
|
||||
<ClInclude Include="Lib\projector\LC4500API\API.h" />
|
||||
<ClInclude Include="Lib\projector\LC4500API\Common.h" />
|
||||
<ClInclude Include="Lib\projector\LC4500API\hidapi.h" />
|
||||
<ClInclude Include="Lib\projector\LC4500API\usb.h" />
|
||||
<ClInclude Include="Lib\projector\Projector.h" />
|
||||
<ClInclude Include="Lib\projector\ProjectorLC4500.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||
|
||||
@@ -17,6 +17,12 @@
|
||||
<Filter Include="lib">
|
||||
<UniqueIdentifier>{bfb1e724-306d-436f-9c4b-61bcfde16fb2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lib\projector">
|
||||
<UniqueIdentifier>{0a72a89e-fc22-42c6-9293-1cf2d411e663}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lib\projector\LC4500API">
|
||||
<UniqueIdentifier>{b0d62f9b-d43c-4971-9e7c-a0cc53e4140f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\scene">
|
||||
<UniqueIdentifier>{2ae873f3-9729-42ac-8918-28ee9ea3c253}</UniqueIdentifier>
|
||||
</Filter>
|
||||
@@ -44,29 +50,6 @@
|
||||
<Filter Include="resource\font">
|
||||
<UniqueIdentifier>{ec183521-b5e0-408b-9e24-aa9910874ed3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\reconstruction\cwt">
|
||||
<UniqueIdentifier>{67a013bf-9fd9-4fa2-a2a7-e8d6817bcc7a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\reconstruction\tool">
|
||||
<UniqueIdentifier>{defd3eaf-903c-49c5-a2d6-2edbeb2f02b3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\reconstruction\calibrator">
|
||||
<UniqueIdentifier>{3a7d9bd9-24e9-4558-9564-4ef98bd12ea3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\reconstruction\camera">
|
||||
<UniqueIdentifier>{288ad6dd-dd7c-43f3-abd5-8998c2a01d04}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\reconstruction\projector">
|
||||
<UniqueIdentifier>{762af5a3-10df-4dc7-8ce8-ed2501d9eb12}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\reconstruction\pointcloud">
|
||||
<UniqueIdentifier>{cdf9f84f-4a3a-4fc8-b596-038eb3990675}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
<ParseFiles>true</ParseFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtUic Include="UI\Reconstruction.ui">
|
||||
@@ -78,9 +61,6 @@
|
||||
<QtUic Include="UI\Loading.ui">
|
||||
<Filter>ui</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="UI\Help.ui">
|
||||
<Filter>ui</Filter>
|
||||
</QtUic>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Classes\main.cpp">
|
||||
@@ -89,129 +69,30 @@
|
||||
<ClCompile Include="Classes\Reconstruction.cpp">
|
||||
<Filter>src</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Lib\projector\LC4500API\API.cpp">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Lib\projector\LC4500API\hid.Win.c">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Lib\projector\LC4500API\usb.cpp">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Lib\projector\ProjectorLC4500.cpp">
|
||||
<Filter>lib\projector</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\CameraArguments.cpp">
|
||||
<Filter>src\reconstruction</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\Loading.cpp">
|
||||
<Filter>src\scene\loadingscene</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\DisplayPic.cpp">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt_emxAPI.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt_emxutil.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\ifft.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\fft1.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\fft.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\bsxfun.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\gammaln.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\wavCFandSD.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwtfreqlimits.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\log2.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwtfilterbank.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt_terminate.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt_initialize.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt_data.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cwt_rtwutil.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\rtGetInf.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\rtGetNaN.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\rt_nonfinite.cpp">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\CalibrationData.cpp">
|
||||
<Filter>src\reconstruction\calibrator</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\cvtools.cpp">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\Camera.cpp">
|
||||
<Filter>src\reconstruction\camera</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\CameraPointGrey.cpp">
|
||||
<Filter>src\reconstruction\camera</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\Calibrator.cpp">
|
||||
<Filter>src\reconstruction\calibrator</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\structured_light.cpp">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\ProjectorLC4500.cpp">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\API.cpp">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\usb.cpp">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\CoreAlgorithm.cpp">
|
||||
<Filter>src\reconstruction</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\Help.cpp">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\Device.cpp">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\TreeModel.cpp">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\fstools.cpp">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\hid.Win.c">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\YourThread.cpp">
|
||||
<Filter>src\scene\mainscene</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\CameraArguments.cpp">
|
||||
<Filter>src\reconstruction\calibrator</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\PointCloudData.cpp">
|
||||
<Filter>src\reconstruction\pointcloud</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\MyThread.cpp">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Classes\HisThread.cpp">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="Classes\Reconstruction.h">
|
||||
@@ -223,9 +104,6 @@
|
||||
<QtMoc Include="Classes\DisplayPic.h">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="Classes\Help.h">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</QtMoc>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtRcc Include="Resources\Reconstruction.qrc">
|
||||
@@ -233,147 +111,29 @@
|
||||
</QtRcc>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Classes\cwt_emxAPI.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
<ClInclude Include="Lib\projector\LC4500API\API.h">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt_emxutil.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
<ClInclude Include="Lib\projector\LC4500API\Common.h">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\ifft.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
<ClInclude Include="Lib\projector\LC4500API\hidapi.h">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\fft1.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
<ClInclude Include="Lib\projector\LC4500API\usb.h">
|
||||
<Filter>lib\projector\LC4500API</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\fft.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
<ClInclude Include="Lib\projector\Projector.h">
|
||||
<Filter>lib\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\bsxfun.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
<ClInclude Include="Lib\projector\ProjectorLC4500.h">
|
||||
<Filter>lib\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\gammaln.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\wavCFandSD.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwtfreqlimits.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\log2.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwtfilterbank.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt_terminate.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt_initialize.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt_data.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt_types.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cwt_rtwutil.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\rt_defines.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\rtGetInf.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\rtGetNaN.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\rt_nonfinite.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\rtwtypes.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\tmwtypes.h">
|
||||
<Filter>src\reconstruction\cwt</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\MyThread.h">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\CalibrationData.h">
|
||||
<Filter>src\reconstruction\calibrator</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\cvtools.h">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\Camera.h">
|
||||
<Filter>src\reconstruction\camera</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\CameraPointGrey.h">
|
||||
<Filter>src\reconstruction\camera</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\Calibrator.h">
|
||||
<Filter>src\reconstruction\calibrator</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\structured_light.h">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\Projector.h">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\ProjectorLC4500.h">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\API.h">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\Common.h">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\hidapi.h">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\usb.h">
|
||||
<Filter>src\reconstruction\projector</Filter>
|
||||
<ClInclude Include="Classes\CameraArguments.h">
|
||||
<Filter>src\reconstruction</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\CoreAlgorithm.h">
|
||||
<Filter>src\reconstruction</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\Device.h">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\TreeModel.h">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\fstools.h">
|
||||
<Filter>src\reconstruction\tool</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\YourThread.h">
|
||||
<Filter>src\scene\mainscene</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\CameraArguments.h">
|
||||
<Filter>src\reconstruction\calibrator</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\PointCloudData.h">
|
||||
<Filter>src\reconstruction\pointcloud</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Classes\HisThread.h">
|
||||
<Filter>src\scene\resultscene</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource1.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Reconstruction.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="icon1.ico" />
|
||||
<Image Include="Resources\image\common\icon.ico" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -21,9 +21,6 @@
|
||||
<file>image/loading/label.png</file>
|
||||
<file>image/loading/press.png</file>
|
||||
<file>image/reconstruction/loading.png</file>
|
||||
<file>image/reconstruction/surface.png</file>
|
||||
<file>image/reconstruction/help2.png</file>
|
||||
<file>image/common/icon.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/qss">
|
||||
<file>qss/flat.qss</file>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 818 B |
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 KiB |
@@ -69,7 +69,7 @@
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page">
|
||||
<widget class="QLabel" name="label_2">
|
||||
@@ -758,7 +758,7 @@
|
||||
<x>700</x>
|
||||
<y>50</y>
|
||||
<width>281</width>
|
||||
<height>291</height>
|
||||
<height>311</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
@@ -779,7 +779,7 @@
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>261</width>
|
||||
<height>261</height>
|
||||
<height>281</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
@@ -793,9 +793,9 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>710</x>
|
||||
<y>350</y>
|
||||
<y>380</y>
|
||||
<width>261</width>
|
||||
<height>281</height>
|
||||
<height>251</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
@@ -814,7 +814,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>80</y>
|
||||
<y>20</y>
|
||||
<width>120</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
@@ -838,7 +838,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>150</y>
|
||||
<y>100</y>
|
||||
<width>120</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
@@ -862,7 +862,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>220</y>
|
||||
<y>180</y>
|
||||
<width>120</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
@@ -882,30 +882,6 @@
|
||||
<string>开始重建</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_19">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>10</y>
|
||||
<width>120</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>黑体</family>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>投影图案</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<zorder>groupBox_8</zorder>
|
||||
<zorder>label_3</zorder>
|
||||
@@ -919,10 +895,10 @@
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>785</x>
|
||||
<x>800</x>
|
||||
<y>70</y>
|
||||
<width>201</width>
|
||||
<height>171</height>
|
||||
<width>181</width>
|
||||
<height>191</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
@@ -939,10 +915,36 @@
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QSlider" name="horizontalSlider">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>90</y>
|
||||
<width>81</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>90</y>
|
||||
<width>61</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>点的大小</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<x>10</x>
|
||||
<y>50</y>
|
||||
<width>61</width>
|
||||
<height>16</height>
|
||||
@@ -956,9 +958,9 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>100</y>
|
||||
<y>130</y>
|
||||
<width>51</width>
|
||||
<height>31</height>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
@@ -968,10 +970,10 @@
|
||||
<widget class="QPushButton" name="pushButton_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>100</y>
|
||||
<x>130</x>
|
||||
<y>130</y>
|
||||
<width>51</width>
|
||||
<height>31</height>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
@@ -982,7 +984,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>110</y>
|
||||
<y>130</y>
|
||||
<width>51</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
@@ -994,7 +996,7 @@
|
||||
<widget class="QPushButton" name="pushButton_16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<x>90</x>
|
||||
<y>40</y>
|
||||
<width>51</width>
|
||||
<height>31</height>
|
||||
@@ -1008,8 +1010,8 @@
|
||||
<widget class="QPushButton" name="pushButton_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>815</x>
|
||||
<y>290</y>
|
||||
<x>820</x>
|
||||
<y>310</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
@@ -1026,8 +1028,8 @@
|
||||
<widget class="QPushButton" name="pushButton_14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>815</x>
|
||||
<y>380</y>
|
||||
<x>820</x>
|
||||
<y>390</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
@@ -1044,7 +1046,7 @@
|
||||
<widget class="QPushButton" name="pushButton_15">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>815</x>
|
||||
<x>820</x>
|
||||
<y>470</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
@@ -1056,7 +1058,7 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>曲面重建</string>
|
||||
<string>保存截图</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QVTKWidget" name="qvtkWidget">
|
||||
@@ -1094,8 +1096,8 @@
|
||||
<widget class="QPushButton" name="pushButton_18">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>815</x>
|
||||
<y>560</y>
|
||||
<x>820</x>
|
||||
<y>550</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
@@ -1106,7 +1108,7 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>使用帮助</string>
|
||||
<string>帮助</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +1,4 @@
|
||||
Reading Qt configuration (D:\Qt\5.12.3\msvc2017_64\bin\qmake.exe)
|
||||
CoreAlgorithm.cpp
|
||||
正在创建库 D:\BJTU\Reconstruction\x64\Debug\Reconstruction.lib 和对象 D:\BJTU\Reconstruction\x64\Debug\Reconstruction.exp
|
||||
Reconstruction.vcxproj -> D:\BJTU\Reconstruction\x64\Debug\Reconstruction.exe
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +1,2 @@
|
||||
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.25.28610:TargetPlatformVersion=10.0.18362.0:
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0
|
||||
Debug|x64|D:\BJTU\Reconstruction\|
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
x64/Debug/Reconstruction.tlog/link.delete.1.tlog
Normal file
BIN
x64/Debug/Reconstruction.tlog/link.delete.1.tlog
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -21,8 +21,8 @@ QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Reconstruction_t {
|
||||
QByteArrayData data[24];
|
||||
char stringdata0[509];
|
||||
QByteArrayData data[20];
|
||||
char stringdata0[425];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
@@ -49,12 +49,8 @@ QT_MOC_LITERAL(14, 305, 24), // "on_pushButton_13_clicked"
|
||||
QT_MOC_LITERAL(15, 330, 24), // "on_pushButton_14_clicked"
|
||||
QT_MOC_LITERAL(16, 355, 24), // "on_pushButton_15_clicked"
|
||||
QT_MOC_LITERAL(17, 380, 24), // "on_pushButton_16_clicked"
|
||||
QT_MOC_LITERAL(18, 405, 24), // "on_pushButton_17_clicked"
|
||||
QT_MOC_LITERAL(19, 430, 24), // "on_pushButton_18_clicked"
|
||||
QT_MOC_LITERAL(20, 455, 24), // "on_pushButton_19_clicked"
|
||||
QT_MOC_LITERAL(21, 480, 12), // "setPicAction"
|
||||
QT_MOC_LITERAL(22, 493, 6), // "action"
|
||||
QT_MOC_LITERAL(23, 500, 8) // "setCloud"
|
||||
QT_MOC_LITERAL(18, 405, 12), // "setPicAction"
|
||||
QT_MOC_LITERAL(19, 418, 6) // "action"
|
||||
|
||||
},
|
||||
"Reconstruction\0on_pushButton_clicked\0"
|
||||
@@ -69,11 +65,8 @@ QT_MOC_LITERAL(23, 500, 8) // "setCloud"
|
||||
"on_pushButton_13_clicked\0"
|
||||
"on_pushButton_14_clicked\0"
|
||||
"on_pushButton_15_clicked\0"
|
||||
"on_pushButton_16_clicked\0"
|
||||
"on_pushButton_17_clicked\0"
|
||||
"on_pushButton_18_clicked\0"
|
||||
"on_pushButton_19_clicked\0setPicAction\0"
|
||||
"action\0setCloud"
|
||||
"on_pushButton_16_clicked\0setPicAction\0"
|
||||
"action"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
@@ -83,7 +76,7 @@ static const uint qt_meta_data_Reconstruction[] = {
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
21, 14, // methods
|
||||
17, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
@@ -91,27 +84,23 @@ static const uint qt_meta_data_Reconstruction[] = {
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 119, 2, 0x08 /* Private */,
|
||||
3, 0, 120, 2, 0x08 /* Private */,
|
||||
4, 0, 121, 2, 0x08 /* Private */,
|
||||
5, 0, 122, 2, 0x08 /* Private */,
|
||||
6, 0, 123, 2, 0x08 /* Private */,
|
||||
7, 0, 124, 2, 0x08 /* Private */,
|
||||
8, 0, 125, 2, 0x08 /* Private */,
|
||||
9, 0, 126, 2, 0x08 /* Private */,
|
||||
10, 0, 127, 2, 0x08 /* Private */,
|
||||
11, 0, 128, 2, 0x08 /* Private */,
|
||||
12, 0, 129, 2, 0x08 /* Private */,
|
||||
13, 0, 130, 2, 0x08 /* Private */,
|
||||
14, 0, 131, 2, 0x08 /* Private */,
|
||||
15, 0, 132, 2, 0x08 /* Private */,
|
||||
16, 0, 133, 2, 0x08 /* Private */,
|
||||
17, 0, 134, 2, 0x08 /* Private */,
|
||||
18, 0, 135, 2, 0x08 /* Private */,
|
||||
19, 0, 136, 2, 0x08 /* Private */,
|
||||
20, 0, 137, 2, 0x08 /* Private */,
|
||||
21, 1, 138, 2, 0x08 /* Private */,
|
||||
23, 0, 141, 2, 0x08 /* Private */,
|
||||
1, 0, 99, 2, 0x08 /* Private */,
|
||||
3, 0, 100, 2, 0x08 /* Private */,
|
||||
4, 0, 101, 2, 0x08 /* Private */,
|
||||
5, 0, 102, 2, 0x08 /* Private */,
|
||||
6, 0, 103, 2, 0x08 /* Private */,
|
||||
7, 0, 104, 2, 0x08 /* Private */,
|
||||
8, 0, 105, 2, 0x08 /* Private */,
|
||||
9, 0, 106, 2, 0x08 /* Private */,
|
||||
10, 0, 107, 2, 0x08 /* Private */,
|
||||
11, 0, 108, 2, 0x08 /* Private */,
|
||||
12, 0, 109, 2, 0x08 /* Private */,
|
||||
13, 0, 110, 2, 0x08 /* Private */,
|
||||
14, 0, 111, 2, 0x08 /* Private */,
|
||||
15, 0, 112, 2, 0x08 /* Private */,
|
||||
16, 0, 113, 2, 0x08 /* Private */,
|
||||
17, 0, 114, 2, 0x08 /* Private */,
|
||||
18, 1, 115, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
@@ -130,11 +119,7 @@ static const uint qt_meta_data_Reconstruction[] = {
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 22,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 19,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
@@ -161,11 +146,7 @@ void Reconstruction::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _
|
||||
case 13: _t->on_pushButton_14_clicked(); break;
|
||||
case 14: _t->on_pushButton_15_clicked(); break;
|
||||
case 15: _t->on_pushButton_16_clicked(); break;
|
||||
case 16: _t->on_pushButton_17_clicked(); break;
|
||||
case 17: _t->on_pushButton_18_clicked(); break;
|
||||
case 18: _t->on_pushButton_19_clicked(); break;
|
||||
case 19: _t->setPicAction((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 20: _t->setCloud(); break;
|
||||
case 16: _t->setPicAction((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
@@ -200,13 +181,13 @@ int Reconstruction::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 21)
|
||||
if (_id < 17)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 21;
|
||||
_id -= 17;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 21)
|
||||
if (_id < 17)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 21;
|
||||
_id -= 17;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
94
x64/Debug/moc/moc_Reconstruction.cpp
Normal file
94
x64/Debug/moc/moc_Reconstruction.cpp
Normal file
@@ -0,0 +1,94 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Reconstruction.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.3)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../../../Reconstruction.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Reconstruction.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.3. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Reconstruction_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[15];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Reconstruction_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Reconstruction_t qt_meta_stringdata_Reconstruction = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 14) // "Reconstruction"
|
||||
|
||||
},
|
||||
"Reconstruction"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Reconstruction[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Reconstruction::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Reconstruction::staticMetaObject = { {
|
||||
&QMainWindow::staticMetaObject,
|
||||
qt_meta_stringdata_Reconstruction.data,
|
||||
qt_meta_data_Reconstruction,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Reconstruction::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Reconstruction::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Reconstruction.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Reconstruction::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
||||
Binary file not shown.
@@ -4,31 +4,6 @@
|
||||
<Qt_INCLUDEPATH_>D:\Qt\5.12.3\msvc2017_64\include;D:\Qt\5.12.3\msvc2017_64\include\QtWidgets;D:\Qt\5.12.3\msvc2017_64\include\QtGui;D:\Qt\5.12.3\msvc2017_64\include\QtANGLE;D:\Qt\5.12.3\msvc2017_64\include\QtCore;C:\VulkanSDK\1.0.51.0\include;D:\Qt\5.12.3\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_LIBS_>D:\Qt\5.12.3\msvc2017_64\lib\Qt5Widgetsd.lib;D:\Qt\5.12.3\msvc2017_64\lib\Qt5Guid.lib;D:\Qt\5.12.3\msvc2017_64\lib\Qt5Cored.lib;D:\Qt\5.12.3\msvc2017_64\lib\qtmaind.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LIBPATH_>D:\Qt\5.12.3\msvc2017_64\lib;C:\openssl\lib;C:\Utils\my_sql\mysql-5.6.11-winx64\lib;C:\Utils\postgresql\pgsql\lib</Qt_LIBPATH_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>D:/Qt/Docs/Qt-5.12.3</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>D:/Qt/5.12.3/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>D:/Qt/5.12.3/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/5.12.3/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>D:/Qt/5.12.3/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>D:/Qt/5.12.3/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>D:/Qt/5.12.3/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>D:/Qt/5.12.3/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>D:/Qt/5.12.3/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/5.12.3/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Examples/Qt-5.12.3</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>D:/Qt/Examples/Qt-5.12.3</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>D:/Qt/5.12.3/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>D:/Qt/5.12.3/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.12.3</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);x64\Debug\moc\Classes;x64\Debug\uic\UI</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
@@ -44,14 +19,10 @@
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/-D([^\s=]+(=(\x22(\\\\|\\\x22|[^\x22])*\x22|\S+))?)/$1/;INCLUDEPATH=INCPATH/-I(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBS=/(?:\/LIBPATH:(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBPATH=LIBS/\/LIBPATH:(\x22[^\x22]+\x22|[^\s]+)/$1/</QtBkup_QtVars>
|
||||
>DEFINES=/-D(\w+)/$1/;INCLUDEPATH=INCPATH/-I(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBS=/(?:\/LIBPATH:(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBPATH=LIBS/\/LIBPATH:(\x22[^\x22]+\x22|[^\s]+)/$1/</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>debug</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.12.3</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>12</QtVersionMinor>
|
||||
<QtVersionPatch>3</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
46
x64/Debug/rcc/qrc_Reconstruction.cpp
Normal file
46
x64/Debug/rcc/qrc_Reconstruction.cpp
Normal file
@@ -0,0 +1,46 @@
|
||||
/****************************************************************************
|
||||
** Resource object code
|
||||
**
|
||||
** Created by: The Resource Compiler for Qt version 5.12.3
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
# define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name
|
||||
# define QT_RCC_MANGLE_NAMESPACE0(x) x
|
||||
# define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b
|
||||
# define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b)
|
||||
# define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \
|
||||
QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE))
|
||||
#else
|
||||
# define QT_RCC_PREPEND_NAMESPACE(name) name
|
||||
# define QT_RCC_MANGLE_NAMESPACE(name) name
|
||||
#endif
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
namespace QT_NAMESPACE {
|
||||
#endif
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
}
|
||||
#endif
|
||||
|
||||
int QT_RCC_MANGLE_NAMESPACE(qInitResources_Reconstruction)();
|
||||
int QT_RCC_MANGLE_NAMESPACE(qInitResources_Reconstruction)()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_Reconstruction)();
|
||||
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_Reconstruction)()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct initializer {
|
||||
initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_Reconstruction)(); }
|
||||
~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_Reconstruction)(); }
|
||||
} dummy;
|
||||
}
|
||||
@@ -10,141 +10,120 @@
|
||||
#define UI_RECONSTRUCTION_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QAction>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QFrame>
|
||||
#include <QtWidgets/QGraphicsView>
|
||||
#include <QtWidgets/QGridLayout>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QLineEdit>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QtWidgets/QMenu>
|
||||
#include <QtWidgets/QMenuBar>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QSlider>
|
||||
#include <QtWidgets/QSpinBox>
|
||||
#include <QtWidgets/QStackedWidget>
|
||||
#include <QtWidgets/QStatusBar>
|
||||
#include <QtWidgets/QTextBrowser>
|
||||
#include <QtWidgets/QTreeView>
|
||||
#include <QtWidgets/QToolBar>
|
||||
#include <QtWidgets/QVBoxLayout>
|
||||
#include <QtWidgets/QWidget>
|
||||
#include "QVTKWidget.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_ReconstructionClass
|
||||
{
|
||||
public:
|
||||
QAction *actioncamera;
|
||||
QAction *actionstyle;
|
||||
QWidget *centralWidget;
|
||||
QFrame *line;
|
||||
QStackedWidget *stackedWidget;
|
||||
QWidget *page;
|
||||
QLabel *label_2;
|
||||
QGroupBox *groupBox;
|
||||
QWidget *gridLayoutWidget_2;
|
||||
QGridLayout *gridLayout_2;
|
||||
QTextBrowser *textBrowser;
|
||||
QLabel *label_7;
|
||||
QLabel *label_6;
|
||||
QLabel *label_5;
|
||||
QLabel *label_8;
|
||||
QTextBrowser *textBrowser_3;
|
||||
QLabel *label_7;
|
||||
QTextBrowser *textBrowser;
|
||||
QLabel *label_10;
|
||||
QTextBrowser *textBrowser_2;
|
||||
QLabel *label_8;
|
||||
QLabel *label_9;
|
||||
QTextBrowser *textBrowser_6;
|
||||
QTextBrowser *textBrowser_5;
|
||||
QTextBrowser *textBrowser_4;
|
||||
QGroupBox *groupBox_2;
|
||||
QWidget *gridLayoutWidget_6;
|
||||
QGridLayout *gridLayout_6;
|
||||
QLabel *label_22;
|
||||
QLabel *label_15;
|
||||
QSpinBox *spinBox;
|
||||
QSpinBox *spinBox_2;
|
||||
QLabel *label_15;
|
||||
QLabel *label_22;
|
||||
QSpinBox *spinBox_3;
|
||||
QLabel *label_16;
|
||||
QGroupBox *groupBox_5;
|
||||
QLabel *label_11;
|
||||
QGraphicsView *graphicsView_3;
|
||||
QPushButton *pushButton_5;
|
||||
QPushButton *pushButton_6;
|
||||
QPushButton *pushButton_7;
|
||||
QPushButton *pushButton_8;
|
||||
QGroupBox *groupBox_3;
|
||||
QTreeView *treeView;
|
||||
QTextBrowser *textBrowser_7;
|
||||
QWidget *page_2;
|
||||
QLabel *label_3;
|
||||
QGroupBox *groupBox_6;
|
||||
QLabel *label_21;
|
||||
QGraphicsView *graphicsView_2;
|
||||
QPushButton *pushButton_9;
|
||||
QPushButton *pushButton_10;
|
||||
QPushButton *pushButton_4;
|
||||
QLineEdit *lineEdit;
|
||||
QLabel *label_18;
|
||||
QGroupBox *groupBox_7;
|
||||
QTextBrowser *textBrowser_8;
|
||||
QGroupBox *groupBox_8;
|
||||
QPushButton *pushButton_9;
|
||||
QPushButton *pushButton_10;
|
||||
QPushButton *pushButton_17;
|
||||
QPushButton *pushButton_19;
|
||||
QWidget *page_3;
|
||||
QGroupBox *groupBox_4;
|
||||
QSlider *horizontalSlider;
|
||||
QLabel *label_13;
|
||||
QLabel *label_12;
|
||||
QPushButton *pushButton_11;
|
||||
QPushButton *pushButton_12;
|
||||
QLabel *label_14;
|
||||
QPushButton *pushButton_16;
|
||||
QGraphicsView *graphicsView;
|
||||
QPushButton *pushButton_13;
|
||||
QPushButton *pushButton_14;
|
||||
QPushButton *pushButton_15;
|
||||
QVTKWidget *qvtkWidget;
|
||||
QLabel *label_9;
|
||||
QPushButton *pushButton_18;
|
||||
QWidget *widget;
|
||||
QLabel *label;
|
||||
QLabel *label_4;
|
||||
QWidget *layoutWidget;
|
||||
QVBoxLayout *verticalLayout;
|
||||
QPushButton *pushButton;
|
||||
QPushButton *pushButton_2;
|
||||
QPushButton *pushButton_3;
|
||||
QLabel *label_4;
|
||||
QLabel *label;
|
||||
QMenuBar *menuBar;
|
||||
QMenu *menusettings;
|
||||
QMenu *menuabout;
|
||||
QToolBar *mainToolBar;
|
||||
QStatusBar *statusBar;
|
||||
|
||||
void setupUi(QMainWindow *ReconstructionClass)
|
||||
{
|
||||
if (ReconstructionClass->objectName().isEmpty())
|
||||
ReconstructionClass->setObjectName(QString::fromUtf8("ReconstructionClass"));
|
||||
ReconstructionClass->resize(1240, 680);
|
||||
ReconstructionClass->setMinimumSize(QSize(1240, 680));
|
||||
ReconstructionClass->setMaximumSize(QSize(1240, 680));
|
||||
actioncamera = new QAction(ReconstructionClass);
|
||||
actioncamera->setObjectName(QString::fromUtf8("actioncamera"));
|
||||
actionstyle = new QAction(ReconstructionClass);
|
||||
actionstyle->setObjectName(QString::fromUtf8("actionstyle"));
|
||||
ReconstructionClass->resize(1111, 601);
|
||||
centralWidget = new QWidget(ReconstructionClass);
|
||||
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
|
||||
centralWidget->setEnabled(true);
|
||||
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
|
||||
sizePolicy.setHorizontalStretch(0);
|
||||
sizePolicy.setVerticalStretch(0);
|
||||
sizePolicy.setHeightForWidth(centralWidget->sizePolicy().hasHeightForWidth());
|
||||
centralWidget->setSizePolicy(sizePolicy);
|
||||
centralWidget->setMinimumSize(QSize(1240, 680));
|
||||
centralWidget->setMaximumSize(QSize(1240, 680));
|
||||
centralWidget->setAutoFillBackground(false);
|
||||
centralWidget->setStyleSheet(QString::fromUtf8(""));
|
||||
line = new QFrame(centralWidget);
|
||||
line->setObjectName(QString::fromUtf8("line"));
|
||||
line->setGeometry(QRect(230, 0, 20, 571));
|
||||
line->setFrameShape(QFrame::VLine);
|
||||
line->setFrameShadow(QFrame::Sunken);
|
||||
stackedWidget = new QStackedWidget(centralWidget);
|
||||
stackedWidget->setObjectName(QString::fromUtf8("stackedWidget"));
|
||||
stackedWidget->setGeometry(QRect(239, -4, 1001, 651));
|
||||
stackedWidget->setAutoFillBackground(true);
|
||||
stackedWidget->setStyleSheet(QString::fromUtf8(""));
|
||||
stackedWidget->setGeometry(QRect(249, -1, 851, 531));
|
||||
page = new QWidget();
|
||||
page->setObjectName(QString::fromUtf8("page"));
|
||||
label_2 = new QLabel(page);
|
||||
label_2->setObjectName(QString::fromUtf8("label_2"));
|
||||
label_2->setGeometry(QRect(310, 20, 81, 16));
|
||||
label_2->setGeometry(QRect(220, 20, 81, 16));
|
||||
QFont font;
|
||||
font.setFamily(QString::fromUtf8("Adobe Devanagari"));
|
||||
font.setPointSize(11);
|
||||
@@ -153,16 +132,15 @@ public:
|
||||
label_2->setFont(font);
|
||||
groupBox = new QGroupBox(page);
|
||||
groupBox->setObjectName(QString::fromUtf8("groupBox"));
|
||||
groupBox->setGeometry(QRect(690, 430, 291, 201));
|
||||
groupBox->setGeometry(QRect(520, 260, 321, 271));
|
||||
QFont font1;
|
||||
font1.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
font1.setPointSize(10);
|
||||
groupBox->setFont(font1);
|
||||
groupBox->setAlignment(Qt::AlignCenter);
|
||||
groupBox->setFlat(false);
|
||||
gridLayoutWidget_2 = new QWidget(groupBox);
|
||||
gridLayoutWidget_2->setObjectName(QString::fromUtf8("gridLayoutWidget_2"));
|
||||
gridLayoutWidget_2->setGeometry(QRect(10, 20, 281, 181));
|
||||
gridLayoutWidget_2->setGeometry(QRect(0, 20, 321, 251));
|
||||
gridLayout_2 = new QGridLayout(gridLayoutWidget_2);
|
||||
gridLayout_2->setSpacing(6);
|
||||
gridLayout_2->setContentsMargins(11, 11, 11, 11);
|
||||
@@ -170,27 +148,11 @@ public:
|
||||
gridLayout_2->setSizeConstraint(QLayout::SetMinAndMaxSize);
|
||||
gridLayout_2->setHorizontalSpacing(7);
|
||||
gridLayout_2->setContentsMargins(10, 10, 10, 10);
|
||||
textBrowser = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser->setObjectName(QString::fromUtf8("textBrowser"));
|
||||
textBrowser->setMaximumSize(QSize(250, 31));
|
||||
label_6 = new QLabel(gridLayoutWidget_2);
|
||||
label_6->setObjectName(QString::fromUtf8("label_6"));
|
||||
QFont font2;
|
||||
font2.setFamily(QString::fromUtf8("Adobe Devanagari"));
|
||||
font2.setPointSize(10);
|
||||
textBrowser->setFont(font2);
|
||||
textBrowser->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
textBrowser->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser, 0, 1, 1, 1);
|
||||
|
||||
label_7 = new QLabel(gridLayoutWidget_2);
|
||||
label_7->setObjectName(QString::fromUtf8("label_7"));
|
||||
label_7->setFont(font2);
|
||||
label_7->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_2->addWidget(label_7, 2, 0, 1, 1);
|
||||
|
||||
label_6 = new QLabel(gridLayoutWidget_2);
|
||||
label_6->setObjectName(QString::fromUtf8("label_6"));
|
||||
label_6->setFont(font2);
|
||||
label_6->setAlignment(Qt::AlignCenter);
|
||||
|
||||
@@ -203,6 +165,41 @@ public:
|
||||
|
||||
gridLayout_2->addWidget(label_5, 0, 0, 1, 1);
|
||||
|
||||
textBrowser_3 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_3->setObjectName(QString::fromUtf8("textBrowser_3"));
|
||||
textBrowser_3->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_3->setFont(font2);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser_3, 2, 1, 1, 1);
|
||||
|
||||
label_7 = new QLabel(gridLayoutWidget_2);
|
||||
label_7->setObjectName(QString::fromUtf8("label_7"));
|
||||
label_7->setFont(font2);
|
||||
label_7->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_2->addWidget(label_7, 2, 0, 1, 1);
|
||||
|
||||
textBrowser = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser->setObjectName(QString::fromUtf8("textBrowser"));
|
||||
textBrowser->setMaximumSize(QSize(250, 31));
|
||||
textBrowser->setFont(font2);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser, 0, 1, 1, 1);
|
||||
|
||||
label_10 = new QLabel(gridLayoutWidget_2);
|
||||
label_10->setObjectName(QString::fromUtf8("label_10"));
|
||||
label_10->setFont(font2);
|
||||
label_10->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_2->addWidget(label_10, 5, 0, 1, 1);
|
||||
|
||||
textBrowser_2 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_2->setObjectName(QString::fromUtf8("textBrowser_2"));
|
||||
textBrowser_2->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_2->setFont(font2);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser_2, 1, 1, 1, 1);
|
||||
|
||||
label_8 = new QLabel(gridLayoutWidget_2);
|
||||
label_8->setObjectName(QString::fromUtf8("label_8"));
|
||||
label_8->setFont(font2);
|
||||
@@ -210,41 +207,42 @@ public:
|
||||
|
||||
gridLayout_2->addWidget(label_8, 3, 0, 1, 1);
|
||||
|
||||
textBrowser_3 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_3->setObjectName(QString::fromUtf8("textBrowser_3"));
|
||||
textBrowser_3->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_3->setFont(font2);
|
||||
textBrowser_3->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
textBrowser_3->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
label_9 = new QLabel(gridLayoutWidget_2);
|
||||
label_9->setObjectName(QString::fromUtf8("label_9"));
|
||||
label_9->setFont(font2);
|
||||
label_9->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser_3, 2, 1, 1, 1);
|
||||
gridLayout_2->addWidget(label_9, 4, 0, 1, 1);
|
||||
|
||||
textBrowser_2 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_2->setObjectName(QString::fromUtf8("textBrowser_2"));
|
||||
textBrowser_2->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_2->setFont(font2);
|
||||
textBrowser_2->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
textBrowser_2->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
textBrowser_6 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_6->setObjectName(QString::fromUtf8("textBrowser_6"));
|
||||
textBrowser_6->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_6->setFont(font2);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser_2, 1, 1, 1, 1);
|
||||
gridLayout_2->addWidget(textBrowser_6, 5, 1, 1, 1);
|
||||
|
||||
textBrowser_5 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_5->setObjectName(QString::fromUtf8("textBrowser_5"));
|
||||
textBrowser_5->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_5->setFont(font2);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser_5, 4, 1, 1, 1);
|
||||
|
||||
textBrowser_4 = new QTextBrowser(gridLayoutWidget_2);
|
||||
textBrowser_4->setObjectName(QString::fromUtf8("textBrowser_4"));
|
||||
textBrowser_4->setMaximumSize(QSize(250, 31));
|
||||
textBrowser_4->setFont(font2);
|
||||
textBrowser_4->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
textBrowser_4->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
|
||||
gridLayout_2->addWidget(textBrowser_4, 3, 1, 1, 1);
|
||||
|
||||
groupBox_2 = new QGroupBox(page);
|
||||
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
|
||||
groupBox_2->setGeometry(QRect(690, 30, 291, 151));
|
||||
groupBox_2->setGeometry(QRect(10, 360, 251, 171));
|
||||
groupBox_2->setFont(font1);
|
||||
groupBox_2->setAlignment(Qt::AlignCenter);
|
||||
gridLayoutWidget_6 = new QWidget(groupBox_2);
|
||||
gridLayoutWidget_6->setObjectName(QString::fromUtf8("gridLayoutWidget_6"));
|
||||
gridLayoutWidget_6->setGeometry(QRect(30, 20, 231, 121));
|
||||
gridLayoutWidget_6->setGeometry(QRect(20, 30, 211, 131));
|
||||
gridLayout_6 = new QGridLayout(gridLayoutWidget_6);
|
||||
gridLayout_6->setSpacing(6);
|
||||
gridLayout_6->setContentsMargins(11, 11, 11, 11);
|
||||
@@ -252,6 +250,25 @@ public:
|
||||
gridLayout_6->setSizeConstraint(QLayout::SetMinAndMaxSize);
|
||||
gridLayout_6->setHorizontalSpacing(7);
|
||||
gridLayout_6->setContentsMargins(10, 10, 10, 10);
|
||||
label_22 = new QLabel(gridLayoutWidget_6);
|
||||
label_22->setObjectName(QString::fromUtf8("label_22"));
|
||||
QFont font3;
|
||||
font3.setPointSize(9);
|
||||
label_22->setFont(font3);
|
||||
label_22->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_6->addWidget(label_22, 0, 0, 1, 1);
|
||||
|
||||
label_15 = new QLabel(gridLayoutWidget_6);
|
||||
label_15->setObjectName(QString::fromUtf8("label_15"));
|
||||
QFont font4;
|
||||
font4.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
font4.setPointSize(9);
|
||||
label_15->setFont(font4);
|
||||
label_15->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_6->addWidget(label_15, 1, 0, 1, 1);
|
||||
|
||||
spinBox = new QSpinBox(gridLayoutWidget_6);
|
||||
spinBox->setObjectName(QString::fromUtf8("spinBox"));
|
||||
|
||||
@@ -262,25 +279,6 @@ public:
|
||||
|
||||
gridLayout_6->addWidget(spinBox_2, 1, 2, 1, 1);
|
||||
|
||||
label_15 = new QLabel(gridLayoutWidget_6);
|
||||
label_15->setObjectName(QString::fromUtf8("label_15"));
|
||||
QFont font3;
|
||||
font3.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
font3.setPointSize(9);
|
||||
label_15->setFont(font3);
|
||||
label_15->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_6->addWidget(label_15, 1, 0, 1, 1);
|
||||
|
||||
label_22 = new QLabel(gridLayoutWidget_6);
|
||||
label_22->setObjectName(QString::fromUtf8("label_22"));
|
||||
QFont font4;
|
||||
font4.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
label_22->setFont(font4);
|
||||
label_22->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_6->addWidget(label_22, 0, 0, 1, 1);
|
||||
|
||||
spinBox_3 = new QSpinBox(gridLayoutWidget_6);
|
||||
spinBox_3->setObjectName(QString::fromUtf8("spinBox_3"));
|
||||
|
||||
@@ -288,361 +286,188 @@ public:
|
||||
|
||||
label_16 = new QLabel(gridLayoutWidget_6);
|
||||
label_16->setObjectName(QString::fromUtf8("label_16"));
|
||||
label_16->setFont(font3);
|
||||
label_16->setFont(font4);
|
||||
label_16->setAlignment(Qt::AlignCenter);
|
||||
|
||||
gridLayout_6->addWidget(label_16, 2, 0, 1, 1);
|
||||
|
||||
groupBox_5 = new QGroupBox(page);
|
||||
groupBox_5->setObjectName(QString::fromUtf8("groupBox_5"));
|
||||
groupBox_5->setGeometry(QRect(30, 40, 640, 512));
|
||||
groupBox_5->setFlat(false);
|
||||
groupBox_5->setGeometry(QRect(10, 40, 491, 291));
|
||||
label_11 = new QLabel(groupBox_5);
|
||||
label_11->setObjectName(QString::fromUtf8("label_11"));
|
||||
label_11->setGeometry(QRect(0, 0, 640, 512));
|
||||
label_11->setGeometry(QRect(190, 120, 121, 31));
|
||||
QFont font5;
|
||||
font5.setFamily(QString::fromUtf8("Adobe Devanagari"));
|
||||
font5.setPointSize(16);
|
||||
label_11->setFont(font5);
|
||||
label_11->setAlignment(Qt::AlignCenter);
|
||||
graphicsView_3 = new QGraphicsView(groupBox_5);
|
||||
graphicsView_3->setObjectName(QString::fromUtf8("graphicsView_3"));
|
||||
graphicsView_3->setGeometry(QRect(0, 0, 640, 512));
|
||||
graphicsView_3->raise();
|
||||
label_11->raise();
|
||||
pushButton_5 = new QPushButton(page);
|
||||
pushButton_5->setObjectName(QString::fromUtf8("pushButton_5"));
|
||||
pushButton_5->setGeometry(QRect(50, 580, 120, 51));
|
||||
pushButton_5->setMinimumSize(QSize(120, 0));
|
||||
pushButton_5->setMaximumSize(QSize(110, 16777215));
|
||||
pushButton_5->setFont(font3);
|
||||
pushButton_5->setGeometry(QRect(280, 390, 100, 28));
|
||||
pushButton_5->setMaximumSize(QSize(100, 16777215));
|
||||
pushButton_5->setFont(font4);
|
||||
pushButton_6 = new QPushButton(page);
|
||||
pushButton_6->setObjectName(QString::fromUtf8("pushButton_6"));
|
||||
pushButton_6->setGeometry(QRect(210, 580, 120, 51));
|
||||
pushButton_6->setMinimumSize(QSize(120, 0));
|
||||
pushButton_6->setMaximumSize(QSize(110, 16777215));
|
||||
pushButton_6->setFont(font3);
|
||||
pushButton_6->setGeometry(QRect(400, 390, 100, 28));
|
||||
pushButton_6->setMaximumSize(QSize(100, 16777215));
|
||||
pushButton_6->setFont(font4);
|
||||
pushButton_7 = new QPushButton(page);
|
||||
pushButton_7->setObjectName(QString::fromUtf8("pushButton_7"));
|
||||
pushButton_7->setGeometry(QRect(370, 580, 120, 51));
|
||||
pushButton_7->setMinimumSize(QSize(120, 0));
|
||||
pushButton_7->setMaximumSize(QSize(110, 16777215));
|
||||
pushButton_7->setFont(font3);
|
||||
pushButton_7->setGeometry(QRect(280, 470, 100, 28));
|
||||
pushButton_7->setMaximumSize(QSize(100, 16777215));
|
||||
pushButton_7->setFont(font4);
|
||||
pushButton_8 = new QPushButton(page);
|
||||
pushButton_8->setObjectName(QString::fromUtf8("pushButton_8"));
|
||||
pushButton_8->setGeometry(QRect(530, 580, 120, 51));
|
||||
pushButton_8->setMinimumSize(QSize(120, 0));
|
||||
pushButton_8->setMaximumSize(QSize(120, 16777215));
|
||||
pushButton_8->setFont(font3);
|
||||
pushButton_8->setGeometry(QRect(400, 470, 100, 28));
|
||||
pushButton_8->setMaximumSize(QSize(100, 16777215));
|
||||
pushButton_8->setFont(font4);
|
||||
groupBox_3 = new QGroupBox(page);
|
||||
groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
|
||||
groupBox_3->setGeometry(QRect(690, 200, 291, 211));
|
||||
groupBox_3->setGeometry(QRect(520, 30, 321, 211));
|
||||
groupBox_3->setFont(font1);
|
||||
groupBox_3->setAlignment(Qt::AlignCenter);
|
||||
treeView = new QTreeView(groupBox_3);
|
||||
treeView->setObjectName(QString::fromUtf8("treeView"));
|
||||
treeView->setGeometry(QRect(10, 20, 271, 181));
|
||||
textBrowser_7 = new QTextBrowser(groupBox_3);
|
||||
textBrowser_7->setObjectName(QString::fromUtf8("textBrowser_7"));
|
||||
textBrowser_7->setGeometry(QRect(10, 20, 301, 181));
|
||||
stackedWidget->addWidget(page);
|
||||
page_2 = new QWidget();
|
||||
page_2->setObjectName(QString::fromUtf8("page_2"));
|
||||
label_3 = new QLabel(page_2);
|
||||
label_3->setObjectName(QString::fromUtf8("label_3"));
|
||||
label_3->setGeometry(QRect(310, 30, 81, 16));
|
||||
label_3->setGeometry(QRect(390, 20, 81, 16));
|
||||
label_3->setFont(font);
|
||||
groupBox_6 = new QGroupBox(page_2);
|
||||
groupBox_6->setObjectName(QString::fromUtf8("groupBox_6"));
|
||||
groupBox_6->setGeometry(QRect(30, 60, 640, 512));
|
||||
groupBox_6->setGeometry(QRect(80, 40, 701, 401));
|
||||
label_21 = new QLabel(groupBox_6);
|
||||
label_21->setObjectName(QString::fromUtf8("label_21"));
|
||||
label_21->setGeometry(QRect(0, 0, 640, 512));
|
||||
label_21->setGeometry(QRect(280, 170, 121, 31));
|
||||
label_21->setFont(font5);
|
||||
label_21->setAlignment(Qt::AlignCenter);
|
||||
graphicsView_2 = new QGraphicsView(groupBox_6);
|
||||
graphicsView_2->setObjectName(QString::fromUtf8("graphicsView_2"));
|
||||
graphicsView_2->setGeometry(QRect(0, 0, 640, 512));
|
||||
graphicsView_2->raise();
|
||||
label_21->raise();
|
||||
pushButton_9 = new QPushButton(page_2);
|
||||
pushButton_9->setObjectName(QString::fromUtf8("pushButton_9"));
|
||||
pushButton_9->setGeometry(QRect(620, 470, 93, 31));
|
||||
QFont font6;
|
||||
font6.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
pushButton_9->setFont(font6);
|
||||
pushButton_10 = new QPushButton(page_2);
|
||||
pushButton_10->setObjectName(QString::fromUtf8("pushButton_10"));
|
||||
pushButton_10->setGeometry(QRect(730, 470, 93, 31));
|
||||
pushButton_10->setFont(font6);
|
||||
pushButton_4 = new QPushButton(page_2);
|
||||
pushButton_4->setObjectName(QString::fromUtf8("pushButton_4"));
|
||||
pushButton_4->setGeometry(QRect(550, 590, 120, 41));
|
||||
pushButton_4->setMinimumSize(QSize(120, 0));
|
||||
pushButton_4->setFont(font4);
|
||||
pushButton_4->setGeometry(QRect(470, 470, 81, 31));
|
||||
pushButton_4->setFont(font6);
|
||||
lineEdit = new QLineEdit(page_2);
|
||||
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
|
||||
lineEdit->setGeometry(QRect(150, 590, 381, 41));
|
||||
lineEdit->setGeometry(QRect(160, 470, 294, 31));
|
||||
label_18 = new QLabel(page_2);
|
||||
label_18->setObjectName(QString::fromUtf8("label_18"));
|
||||
label_18->setGeometry(QRect(30, 590, 111, 40));
|
||||
label_18->setMinimumSize(QSize(0, 40));
|
||||
label_18->setMaximumSize(QSize(16777215, 40));
|
||||
label_18->setFont(font3);
|
||||
label_18->setGeometry(QRect(40, 470, 111, 30));
|
||||
label_18->setMaximumSize(QSize(16777215, 30));
|
||||
label_18->setFont(font4);
|
||||
label_18->setAlignment(Qt::AlignCenter);
|
||||
groupBox_7 = new QGroupBox(page_2);
|
||||
groupBox_7->setObjectName(QString::fromUtf8("groupBox_7"));
|
||||
groupBox_7->setGeometry(QRect(700, 50, 281, 291));
|
||||
groupBox_7->setFont(font1);
|
||||
groupBox_7->setAlignment(Qt::AlignCenter);
|
||||
textBrowser_8 = new QTextBrowser(groupBox_7);
|
||||
textBrowser_8->setObjectName(QString::fromUtf8("textBrowser_8"));
|
||||
textBrowser_8->setGeometry(QRect(10, 20, 261, 261));
|
||||
QFont font6;
|
||||
font6.setPointSize(9);
|
||||
textBrowser_8->setFont(font6);
|
||||
groupBox_8 = new QGroupBox(page_2);
|
||||
groupBox_8->setObjectName(QString::fromUtf8("groupBox_8"));
|
||||
groupBox_8->setGeometry(QRect(710, 350, 261, 281));
|
||||
groupBox_8->setFont(font1);
|
||||
groupBox_8->setAlignment(Qt::AlignCenter);
|
||||
pushButton_9 = new QPushButton(groupBox_8);
|
||||
pushButton_9->setObjectName(QString::fromUtf8("pushButton_9"));
|
||||
pushButton_9->setGeometry(QRect(70, 80, 120, 51));
|
||||
pushButton_9->setMinimumSize(QSize(120, 0));
|
||||
pushButton_9->setFont(font4);
|
||||
pushButton_10 = new QPushButton(groupBox_8);
|
||||
pushButton_10->setObjectName(QString::fromUtf8("pushButton_10"));
|
||||
pushButton_10->setGeometry(QRect(70, 150, 120, 51));
|
||||
pushButton_10->setMinimumSize(QSize(120, 0));
|
||||
pushButton_10->setFont(font4);
|
||||
pushButton_17 = new QPushButton(groupBox_8);
|
||||
pushButton_17->setObjectName(QString::fromUtf8("pushButton_17"));
|
||||
pushButton_17->setGeometry(QRect(70, 220, 120, 51));
|
||||
pushButton_17->setMinimumSize(QSize(120, 0));
|
||||
pushButton_17->setFont(font4);
|
||||
pushButton_19 = new QPushButton(groupBox_8);
|
||||
pushButton_19->setObjectName(QString::fromUtf8("pushButton_19"));
|
||||
pushButton_19->setGeometry(QRect(70, 10, 120, 51));
|
||||
pushButton_19->setMinimumSize(QSize(120, 0));
|
||||
pushButton_19->setFont(font4);
|
||||
stackedWidget->addWidget(page_2);
|
||||
groupBox_8->raise();
|
||||
label_3->raise();
|
||||
groupBox_6->raise();
|
||||
pushButton_4->raise();
|
||||
lineEdit->raise();
|
||||
label_18->raise();
|
||||
groupBox_7->raise();
|
||||
page_3 = new QWidget();
|
||||
page_3->setObjectName(QString::fromUtf8("page_3"));
|
||||
groupBox_4 = new QGroupBox(page_3);
|
||||
groupBox_4->setObjectName(QString::fromUtf8("groupBox_4"));
|
||||
groupBox_4->setGeometry(QRect(785, 70, 201, 171));
|
||||
groupBox_4->setFont(font4);
|
||||
groupBox_4->setGeometry(QRect(650, 60, 191, 171));
|
||||
groupBox_4->setFont(font6);
|
||||
groupBox_4->setAlignment(Qt::AlignCenter);
|
||||
groupBox_4->setFlat(false);
|
||||
horizontalSlider = new QSlider(groupBox_4);
|
||||
horizontalSlider->setObjectName(QString::fromUtf8("horizontalSlider"));
|
||||
horizontalSlider->setGeometry(QRect(90, 80, 91, 22));
|
||||
horizontalSlider->setOrientation(Qt::Horizontal);
|
||||
label_13 = new QLabel(groupBox_4);
|
||||
label_13->setObjectName(QString::fromUtf8("label_13"));
|
||||
label_13->setGeometry(QRect(10, 80, 72, 15));
|
||||
label_12 = new QLabel(groupBox_4);
|
||||
label_12->setObjectName(QString::fromUtf8("label_12"));
|
||||
label_12->setGeometry(QRect(20, 50, 61, 16));
|
||||
label_12->setGeometry(QRect(10, 50, 72, 15));
|
||||
pushButton_11 = new QPushButton(groupBox_4);
|
||||
pushButton_11->setObjectName(QString::fromUtf8("pushButton_11"));
|
||||
pushButton_11->setGeometry(QRect(70, 100, 51, 31));
|
||||
pushButton_11->setGeometry(QRect(70, 117, 51, 21));
|
||||
pushButton_12 = new QPushButton(groupBox_4);
|
||||
pushButton_12->setObjectName(QString::fromUtf8("pushButton_12"));
|
||||
pushButton_12->setGeometry(QRect(140, 100, 51, 31));
|
||||
pushButton_12->setGeometry(QRect(130, 117, 51, 21));
|
||||
label_14 = new QLabel(groupBox_4);
|
||||
label_14->setObjectName(QString::fromUtf8("label_14"));
|
||||
label_14->setGeometry(QRect(10, 110, 51, 16));
|
||||
label_14->setGeometry(QRect(10, 120, 72, 15));
|
||||
pushButton_16 = new QPushButton(groupBox_4);
|
||||
pushButton_16->setObjectName(QString::fromUtf8("pushButton_16"));
|
||||
pushButton_16->setGeometry(QRect(100, 40, 51, 31));
|
||||
pushButton_16->setGeometry(QRect(100, 47, 51, 21));
|
||||
graphicsView = new QGraphicsView(page_3);
|
||||
graphicsView->setObjectName(QString::fromUtf8("graphicsView"));
|
||||
graphicsView->setGeometry(QRect(0, 10, 641, 521));
|
||||
pushButton_13 = new QPushButton(page_3);
|
||||
pushButton_13->setObjectName(QString::fromUtf8("pushButton_13"));
|
||||
pushButton_13->setGeometry(QRect(815, 290, 141, 41));
|
||||
pushButton_13->setFont(font4);
|
||||
pushButton_13->setGeometry(QRect(700, 310, 93, 28));
|
||||
pushButton_13->setFont(font6);
|
||||
pushButton_14 = new QPushButton(page_3);
|
||||
pushButton_14->setObjectName(QString::fromUtf8("pushButton_14"));
|
||||
pushButton_14->setGeometry(QRect(815, 380, 141, 41));
|
||||
pushButton_14->setFont(font4);
|
||||
pushButton_14->setGeometry(QRect(700, 380, 93, 28));
|
||||
pushButton_14->setFont(font6);
|
||||
pushButton_15 = new QPushButton(page_3);
|
||||
pushButton_15->setObjectName(QString::fromUtf8("pushButton_15"));
|
||||
pushButton_15->setGeometry(QRect(815, 470, 141, 41));
|
||||
pushButton_15->setFont(font4);
|
||||
qvtkWidget = new QVTKWidget(page_3);
|
||||
qvtkWidget->setObjectName(QString::fromUtf8("qvtkWidget"));
|
||||
qvtkWidget->setGeometry(QRect(30, 20, 741, 621));
|
||||
label_9 = new QLabel(page_3);
|
||||
label_9->setObjectName(QString::fromUtf8("label_9"));
|
||||
label_9->setGeometry(QRect(30, 20, 741, 611));
|
||||
QFont font7;
|
||||
font7.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
font7.setPointSize(18);
|
||||
label_9->setFont(font7);
|
||||
label_9->setStyleSheet(QString::fromUtf8(""));
|
||||
pushButton_18 = new QPushButton(page_3);
|
||||
pushButton_18->setObjectName(QString::fromUtf8("pushButton_18"));
|
||||
pushButton_18->setGeometry(QRect(815, 560, 141, 41));
|
||||
pushButton_18->setFont(font4);
|
||||
pushButton_15->setGeometry(QRect(700, 450, 93, 28));
|
||||
pushButton_15->setFont(font6);
|
||||
stackedWidget->addWidget(page_3);
|
||||
widget = new QWidget(centralWidget);
|
||||
widget->setObjectName(QString::fromUtf8("widget"));
|
||||
widget->setGeometry(QRect(0, -10, 241, 671));
|
||||
QPalette palette;
|
||||
QBrush brush(QColor(0, 0, 0, 255));
|
||||
brush.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::WindowText, brush);
|
||||
QBrush brush1(QColor(44, 46, 70, 255));
|
||||
brush1.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::Button, brush1);
|
||||
QBrush brush2(QColor(255, 0, 0, 255));
|
||||
brush2.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::Light, brush2);
|
||||
QBrush brush3(QColor(212, 0, 0, 255));
|
||||
brush3.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::Midlight, brush3);
|
||||
QBrush brush4(QColor(85, 0, 0, 255));
|
||||
brush4.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::Dark, brush4);
|
||||
QBrush brush5(QColor(113, 0, 0, 255));
|
||||
brush5.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::Mid, brush5);
|
||||
palette.setBrush(QPalette::Active, QPalette::Text, brush);
|
||||
QBrush brush6(QColor(255, 255, 255, 255));
|
||||
brush6.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::BrightText, brush6);
|
||||
palette.setBrush(QPalette::Active, QPalette::ButtonText, brush);
|
||||
palette.setBrush(QPalette::Active, QPalette::Base, brush1);
|
||||
palette.setBrush(QPalette::Active, QPalette::Window, brush1);
|
||||
palette.setBrush(QPalette::Active, QPalette::Shadow, brush);
|
||||
QBrush brush7(QColor(212, 127, 127, 255));
|
||||
brush7.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::AlternateBase, brush7);
|
||||
QBrush brush8(QColor(255, 255, 220, 255));
|
||||
brush8.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Active, QPalette::ToolTipBase, brush8);
|
||||
palette.setBrush(QPalette::Active, QPalette::ToolTipText, brush);
|
||||
QBrush brush9(QColor(0, 0, 0, 128));
|
||||
brush9.setStyle(Qt::NoBrush);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
|
||||
palette.setBrush(QPalette::Active, QPalette::PlaceholderText, brush9);
|
||||
#endif
|
||||
palette.setBrush(QPalette::Inactive, QPalette::WindowText, brush);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Button, brush1);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Light, brush2);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Midlight, brush3);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Dark, brush4);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Mid, brush5);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Text, brush);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::BrightText, brush6);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::ButtonText, brush);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Base, brush1);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Window, brush1);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::Shadow, brush);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush7);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush8);
|
||||
palette.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush);
|
||||
QBrush brush10(QColor(0, 0, 0, 128));
|
||||
brush10.setStyle(Qt::NoBrush);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
|
||||
palette.setBrush(QPalette::Inactive, QPalette::PlaceholderText, brush10);
|
||||
#endif
|
||||
palette.setBrush(QPalette::Disabled, QPalette::WindowText, brush4);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Button, brush1);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Light, brush2);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Midlight, brush3);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Dark, brush4);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Mid, brush5);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Text, brush4);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::BrightText, brush6);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::ButtonText, brush4);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Base, brush1);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Window, brush1);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Shadow, brush);
|
||||
QBrush brush11(QColor(170, 0, 0, 255));
|
||||
brush11.setStyle(Qt::SolidPattern);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush11);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush8);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush);
|
||||
QBrush brush12(QColor(0, 0, 0, 128));
|
||||
brush12.setStyle(Qt::NoBrush);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
|
||||
palette.setBrush(QPalette::Disabled, QPalette::PlaceholderText, brush12);
|
||||
#endif
|
||||
widget->setPalette(palette);
|
||||
widget->setAutoFillBackground(true);
|
||||
widget->setStyleSheet(QString::fromUtf8(""));
|
||||
label = new QLabel(widget);
|
||||
label->setObjectName(QString::fromUtf8("label"));
|
||||
label->setGeometry(QRect(10, 10, 221, 151));
|
||||
label->setMaximumSize(QSize(16777215, 400));
|
||||
QFont font8;
|
||||
font8.setFamily(QString::fromUtf8("Adobe Devanagari"));
|
||||
font8.setPointSize(13);
|
||||
font8.setBold(true);
|
||||
font8.setWeight(75);
|
||||
label->setFont(font8);
|
||||
label->setStyleSheet(QString::fromUtf8("color: rgb(255, 255, 255);"));
|
||||
label->setAlignment(Qt::AlignCenter);
|
||||
label_4 = new QLabel(widget);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setGeometry(QRect(20, 290, 201, 91));
|
||||
QFont font9;
|
||||
font9.setFamily(QString::fromUtf8("\347\255\211\347\272\277"));
|
||||
font9.setPointSize(9);
|
||||
label_4->setFont(font9);
|
||||
label_4->setStyleSheet(QString::fromUtf8("color: rgb(255, 255, 255);"));
|
||||
label_4->setAlignment(Qt::AlignCenter);
|
||||
layoutWidget = new QWidget(widget);
|
||||
layoutWidget = new QWidget(centralWidget);
|
||||
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
|
||||
layoutWidget->setGeometry(QRect(10, 390, 221, 241));
|
||||
layoutWidget->setGeometry(QRect(10, 260, 219, 241));
|
||||
verticalLayout = new QVBoxLayout(layoutWidget);
|
||||
verticalLayout->setSpacing(40);
|
||||
verticalLayout->setSpacing(6);
|
||||
verticalLayout->setContentsMargins(11, 11, 11, 11);
|
||||
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
|
||||
verticalLayout->setContentsMargins(0, 0, 0, 0);
|
||||
pushButton = new QPushButton(layoutWidget);
|
||||
pushButton->setObjectName(QString::fromUtf8("pushButton"));
|
||||
QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||
sizePolicy1.setHorizontalStretch(0);
|
||||
sizePolicy1.setVerticalStretch(0);
|
||||
sizePolicy1.setHeightForWidth(pushButton->sizePolicy().hasHeightForWidth());
|
||||
pushButton->setSizePolicy(sizePolicy1);
|
||||
pushButton->setFont(font1);
|
||||
pushButton->setStyleSheet(QString::fromUtf8(""));
|
||||
pushButton->setFont(font6);
|
||||
|
||||
verticalLayout->addWidget(pushButton);
|
||||
|
||||
pushButton_2 = new QPushButton(layoutWidget);
|
||||
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
|
||||
sizePolicy1.setHeightForWidth(pushButton_2->sizePolicy().hasHeightForWidth());
|
||||
pushButton_2->setSizePolicy(sizePolicy1);
|
||||
pushButton_2->setFont(font1);
|
||||
pushButton_2->setStyleSheet(QString::fromUtf8(""));
|
||||
pushButton_2->setFont(font6);
|
||||
|
||||
verticalLayout->addWidget(pushButton_2);
|
||||
|
||||
pushButton_3 = new QPushButton(layoutWidget);
|
||||
pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
|
||||
sizePolicy1.setHeightForWidth(pushButton_3->sizePolicy().hasHeightForWidth());
|
||||
pushButton_3->setSizePolicy(sizePolicy1);
|
||||
pushButton_3->setFont(font1);
|
||||
pushButton_3->setStyleSheet(QString::fromUtf8(""));
|
||||
pushButton_3->setFont(font6);
|
||||
|
||||
verticalLayout->addWidget(pushButton_3);
|
||||
|
||||
label_4 = new QLabel(centralWidget);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setGeometry(QRect(10, 180, 219, 91));
|
||||
label_4->setFont(font1);
|
||||
label_4->setAlignment(Qt::AlignCenter);
|
||||
label = new QLabel(centralWidget);
|
||||
label->setObjectName(QString::fromUtf8("label"));
|
||||
label->setGeometry(QRect(10, 20, 219, 151));
|
||||
label->setMaximumSize(QSize(16777215, 400));
|
||||
QFont font7;
|
||||
font7.setFamily(QString::fromUtf8("Adobe Devanagari"));
|
||||
font7.setPointSize(14);
|
||||
font7.setBold(true);
|
||||
font7.setWeight(75);
|
||||
label->setFont(font7);
|
||||
ReconstructionClass->setCentralWidget(centralWidget);
|
||||
menuBar = new QMenuBar(ReconstructionClass);
|
||||
menuBar->setObjectName(QString::fromUtf8("menuBar"));
|
||||
menuBar->setGeometry(QRect(0, 0, 1240, 26));
|
||||
menusettings = new QMenu(menuBar);
|
||||
menusettings->setObjectName(QString::fromUtf8("menusettings"));
|
||||
QFont font10;
|
||||
font10.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
|
||||
font10.setPointSize(8);
|
||||
menusettings->setFont(font10);
|
||||
menuabout = new QMenu(menuBar);
|
||||
menuabout->setObjectName(QString::fromUtf8("menuabout"));
|
||||
menuabout->setFont(font10);
|
||||
menuBar->setGeometry(QRect(0, 0, 1111, 26));
|
||||
ReconstructionClass->setMenuBar(menuBar);
|
||||
mainToolBar = new QToolBar(ReconstructionClass);
|
||||
mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
|
||||
ReconstructionClass->addToolBar(Qt::TopToolBarArea, mainToolBar);
|
||||
statusBar = new QStatusBar(ReconstructionClass);
|
||||
statusBar->setObjectName(QString::fromUtf8("statusBar"));
|
||||
ReconstructionClass->setStatusBar(statusBar);
|
||||
|
||||
menuBar->addAction(menusettings->menuAction());
|
||||
menuBar->addAction(menuabout->menuAction());
|
||||
|
||||
retranslateUi(ReconstructionClass);
|
||||
QObject::connect(spinBox, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
|
||||
|
||||
stackedWidget->setCurrentIndex(1);
|
||||
stackedWidget->setCurrentIndex(0);
|
||||
|
||||
|
||||
QMetaObject::connectSlotsByName(ReconstructionClass);
|
||||
@@ -651,17 +476,17 @@ public:
|
||||
void retranslateUi(QMainWindow *ReconstructionClass)
|
||||
{
|
||||
ReconstructionClass->setWindowTitle(QApplication::translate("ReconstructionClass", "Reconstruction", nullptr));
|
||||
actioncamera->setText(QApplication::translate("ReconstructionClass", "camera", nullptr));
|
||||
actionstyle->setText(QApplication::translate("ReconstructionClass", "style", nullptr));
|
||||
label_2->setText(QApplication::translate("ReconstructionClass", "Live Video", nullptr));
|
||||
groupBox->setTitle(QApplication::translate("ReconstructionClass", "\347\233\270\346\234\272\345\217\202\346\225\260\346\240\217", nullptr));
|
||||
label_7->setText(QApplication::translate("ReconstructionClass", "KC1", nullptr));
|
||||
label_6->setText(QApplication::translate("ReconstructionClass", "T12", nullptr));
|
||||
label_5->setText(QApplication::translate("ReconstructionClass", "R12", nullptr));
|
||||
label_7->setText(QApplication::translate("ReconstructionClass", "KC1", nullptr));
|
||||
label_10->setText(QApplication::translate("ReconstructionClass", "HP2", nullptr));
|
||||
label_8->setText(QApplication::translate("ReconstructionClass", "KP2", nullptr));
|
||||
label_9->setText(QApplication::translate("ReconstructionClass", "HC1", nullptr));
|
||||
groupBox_2->setTitle(QApplication::translate("ReconstructionClass", "\346\240\207\345\256\232\346\235\277\350\256\276\347\275\256", nullptr));
|
||||
label_15->setText(QApplication::translate("ReconstructionClass", "\350\241\214\346\225\260", nullptr));
|
||||
label_22->setText(QApplication::translate("ReconstructionClass", "\346\243\213\347\233\230\345\260\272\345\257\270(mm)", nullptr));
|
||||
label_15->setText(QApplication::translate("ReconstructionClass", "\350\241\214\346\225\260", nullptr));
|
||||
label_16->setText(QApplication::translate("ReconstructionClass", "\345\210\227\346\225\260", nullptr));
|
||||
groupBox_5->setTitle(QString());
|
||||
label_11->setText(QApplication::translate("ReconstructionClass", "NO VIDEO", nullptr));
|
||||
@@ -673,32 +498,25 @@ public:
|
||||
label_3->setText(QApplication::translate("ReconstructionClass", "Live Video", nullptr));
|
||||
groupBox_6->setTitle(QString());
|
||||
label_21->setText(QApplication::translate("ReconstructionClass", "NO VIDEO", nullptr));
|
||||
pushButton_4->setText(QApplication::translate("ReconstructionClass", "\351\200\211\346\213\251\346\226\207\344\273\266", nullptr));
|
||||
label_18->setText(QApplication::translate("ReconstructionClass", "\350\275\275\345\205\245\346\212\225\345\275\261\345\233\276\346\241\210", nullptr));
|
||||
groupBox_7->setTitle(QApplication::translate("ReconstructionClass", "\351\207\215\345\273\272\346\227\245\345\277\227", nullptr));
|
||||
groupBox_8->setTitle(QString());
|
||||
pushButton_9->setText(QApplication::translate("ReconstructionClass", "\347\233\270\346\234\272\346\213\215\347\205\247", nullptr));
|
||||
pushButton_10->setText(QApplication::translate("ReconstructionClass", "\344\277\235\345\255\230\347\205\247\347\211\207", nullptr));
|
||||
pushButton_17->setText(QApplication::translate("ReconstructionClass", "\345\274\200\345\247\213\351\207\215\345\273\272", nullptr));
|
||||
pushButton_19->setText(QApplication::translate("ReconstructionClass", "\346\212\225\345\275\261\345\233\276\346\241\210", nullptr));
|
||||
pushButton_4->setText(QApplication::translate("ReconstructionClass", "\351\200\211\346\213\251\346\226\207\344\273\266", nullptr));
|
||||
label_18->setText(QApplication::translate("ReconstructionClass", "\350\275\275\345\205\245\346\212\225\345\275\261\345\233\276\346\241\210", nullptr));
|
||||
groupBox_4->setTitle(QApplication::translate("ReconstructionClass", "\350\256\276\347\275\256", nullptr));
|
||||
label_13->setText(QApplication::translate("ReconstructionClass", "\347\202\271\347\232\204\345\244\247\345\260\217", nullptr));
|
||||
label_12->setText(QApplication::translate("ReconstructionClass", "\351\242\234\350\211\262\351\200\211\346\213\251", nullptr));
|
||||
pushButton_11->setText(QApplication::translate("ReconstructionClass", "\351\200\211\346\213\251", nullptr));
|
||||
pushButton_12->setText(QApplication::translate("ReconstructionClass", "\345\211\224\351\231\244", nullptr));
|
||||
label_14->setText(QApplication::translate("ReconstructionClass", "\345\274\202\345\270\270\347\202\271", nullptr));
|
||||
pushButton_16->setText(QString());
|
||||
pushButton_16->setText(QApplication::translate("ReconstructionClass", "COLOR", nullptr));
|
||||
pushButton_13->setText(QApplication::translate("ReconstructionClass", "\345\257\274\345\205\245\347\202\271\344\272\221", nullptr));
|
||||
pushButton_14->setText(QApplication::translate("ReconstructionClass", "\345\257\274\345\207\272\347\273\223\346\236\234", nullptr));
|
||||
pushButton_15->setText(QApplication::translate("ReconstructionClass", "\346\233\262\351\235\242\351\207\215\345\273\272", nullptr));
|
||||
label_9->setText(QString());
|
||||
pushButton_18->setText(QApplication::translate("ReconstructionClass", "\344\275\277\347\224\250\345\270\256\345\212\251", nullptr));
|
||||
label->setText(QApplication::translate("ReconstructionClass", "3D RECONSTRUCTION", nullptr));
|
||||
pushButton_15->setText(QApplication::translate("ReconstructionClass", "\344\277\235\345\255\230\346\210\252\345\233\276", nullptr));
|
||||
pushButton->setText(QApplication::translate("ReconstructionClass", "\347\233\270\346\234\272\346\240\207\345\256\232", nullptr));
|
||||
pushButton_2->setText(QApplication::translate("ReconstructionClass", "\345\233\276\346\241\210\346\212\225\345\275\261", nullptr));
|
||||
pushButton_3->setText(QApplication::translate("ReconstructionClass", "\344\270\211\347\273\264\351\207\215\345\273\272", nullptr));
|
||||
label_4->setText(QApplication::translate("ReconstructionClass", "\345\212\237\350\203\275\351\200\211\346\213\251", nullptr));
|
||||
pushButton->setText(QApplication::translate("ReconstructionClass", "\347\263\273\347\273\237\346\240\207\345\256\232", nullptr));
|
||||
pushButton_2->setText(QApplication::translate("ReconstructionClass", "\344\270\211\347\273\264\351\207\215\345\273\272", nullptr));
|
||||
pushButton_3->setText(QApplication::translate("ReconstructionClass", "\347\202\271\344\272\221\346\270\262\346\237\223", nullptr));
|
||||
menusettings->setTitle(QApplication::translate("ReconstructionClass", "\347\233\270\346\234\272\350\256\276\347\275\256", nullptr));
|
||||
menuabout->setTitle(QApplication::translate("ReconstructionClass", "\345\205\263\344\272\216", nullptr));
|
||||
label->setText(QApplication::translate("ReconstructionClass", "3D RECONSTRUCTION", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
66
x64/Debug/uic/ui_Reconstruction.h
Normal file
66
x64/Debug/uic/ui_Reconstruction.h
Normal file
@@ -0,0 +1,66 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'Reconstruction.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.12.3
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_RECONSTRUCTION_H
|
||||
#define UI_RECONSTRUCTION_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QtWidgets/QMenuBar>
|
||||
#include <QtWidgets/QStatusBar>
|
||||
#include <QtWidgets/QToolBar>
|
||||
#include <QtWidgets/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_ReconstructionClass
|
||||
{
|
||||
public:
|
||||
QMenuBar *menuBar;
|
||||
QToolBar *mainToolBar;
|
||||
QWidget *centralWidget;
|
||||
QStatusBar *statusBar;
|
||||
|
||||
void setupUi(QMainWindow *ReconstructionClass)
|
||||
{
|
||||
if (ReconstructionClass->objectName().isEmpty())
|
||||
ReconstructionClass->setObjectName(QString::fromUtf8("ReconstructionClass"));
|
||||
ReconstructionClass->resize(600, 400);
|
||||
menuBar = new QMenuBar(ReconstructionClass);
|
||||
menuBar->setObjectName(QString::fromUtf8("menuBar"));
|
||||
ReconstructionClass->setMenuBar(menuBar);
|
||||
mainToolBar = new QToolBar(ReconstructionClass);
|
||||
mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
|
||||
ReconstructionClass->addToolBar(mainToolBar);
|
||||
centralWidget = new QWidget(ReconstructionClass);
|
||||
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
|
||||
ReconstructionClass->setCentralWidget(centralWidget);
|
||||
statusBar = new QStatusBar(ReconstructionClass);
|
||||
statusBar->setObjectName(QString::fromUtf8("statusBar"));
|
||||
ReconstructionClass->setStatusBar(statusBar);
|
||||
|
||||
retranslateUi(ReconstructionClass);
|
||||
|
||||
QMetaObject::connectSlotsByName(ReconstructionClass);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QMainWindow *ReconstructionClass)
|
||||
{
|
||||
ReconstructionClass->setWindowTitle(QApplication::translate("ReconstructionClass", "Reconstruction", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class ReconstructionClass: public Ui_ReconstructionClass {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_RECONSTRUCTION_H
|
||||
Binary file not shown.
Binary file not shown.
@@ -4,31 +4,6 @@
|
||||
<Qt_INCLUDEPATH_>D:\Qt\5.12.3\msvc2017_64\include;D:\Qt\5.12.3\msvc2017_64\include\QtWidgets;D:\Qt\5.12.3\msvc2017_64\include\QtGui;D:\Qt\5.12.3\msvc2017_64\include\QtANGLE;D:\Qt\5.12.3\msvc2017_64\include\QtCore;C:\VulkanSDK\1.0.51.0\include;D:\Qt\5.12.3\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_LIBS_>D:\Qt\5.12.3\msvc2017_64\lib\Qt5Widgets.lib;D:\Qt\5.12.3\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\5.12.3\msvc2017_64\lib\Qt5Core.lib;D:\Qt\5.12.3\msvc2017_64\lib\qtmain.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LIBPATH_>D:\Qt\5.12.3\msvc2017_64\lib;C:\openssl\lib;C:\Utils\my_sql\mysql-5.6.11-winx64\lib;C:\Utils\postgresql\pgsql\lib</Qt_LIBPATH_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>D:/Qt/Docs/Qt-5.12.3</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>D:/Qt/5.12.3/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>D:/Qt/5.12.3/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/5.12.3/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>D:/Qt/5.12.3/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>D:/Qt/5.12.3/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>D:/Qt/5.12.3/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>D:/Qt/5.12.3/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>D:/Qt/5.12.3/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/5.12.3/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Examples/Qt-5.12.3</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>D:/Qt/Examples/Qt-5.12.3</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>D:/Qt/5.12.3/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>D:/Qt/5.12.3/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>D:/Qt/5.12.3/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.12.3</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);x64\Release\moc\Classes;x64\Release\uic\UI</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
@@ -44,14 +19,10 @@
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/-D([^\s=]+(=(\x22(\\\\|\\\x22|[^\x22])*\x22|\S+))?)/$1/;INCLUDEPATH=INCPATH/-I(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBS=/(?:\/LIBPATH:(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBPATH=LIBS/\/LIBPATH:(\x22[^\x22]+\x22|[^\s]+)/$1/</QtBkup_QtVars>
|
||||
>DEFINES=/-D(\w+)/$1/;INCLUDEPATH=INCPATH/-I(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBS=/(?:\/LIBPATH:(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBPATH=LIBS/\/LIBPATH:(\x22[^\x22]+\x22|[^\s]+)/$1/</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>release</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.12.3</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>12</QtVersionMinor>
|
||||
<QtVersionPatch>3</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user