From 0f1d54ae5950b98f5095be44b7ada61d304ab32d Mon Sep 17 00:00:00 2001
From: ZESl <823989065@qq.com>
Date: Thu, 2 Apr 2020 10:48:22 +0800
Subject: [PATCH] =?UTF-8?q?ui=200.7=20=E5=A2=9E=E5=8A=A0=E6=8C=89=E9=92=AE?=
=?UTF-8?q?=E5=9B=BE=E6=A0=87=EF=BC=8C=E5=A2=9E=E5=8A=A0qss=EF=BC=8C?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E6=96=B9=E6=B3=95=EF=BC=8C?=
=?UTF-8?q?=E7=95=8C=E9=9D=A2=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Classes/DisplayPic.cpp | 2 +-
Classes/Loading.cpp | 2 +-
Classes/Reconstruction.cpp | 50 +-
Classes/Reconstruction.h | 2 +
Resources/Reconstruction.qrc | 26 +-
Resources/image/calibration/cal.png | Bin 0 -> 1754 bytes
Resources/image/calibration/camera.png | Bin 0 -> 762 bytes
Resources/image/calibration/novideo.png | Bin 0 -> 4195 bytes
Resources/image/calibration/pics.png | Bin 0 -> 343 bytes
Resources/image/calibration/save.png | Bin 0 -> 312 bytes
Resources/image/common/3D.png | Bin 0 -> 537 bytes
Resources/image/common/camera.png | Bin 0 -> 762 bytes
Resources/image/common/projection.png | Bin 0 -> 1937 bytes
Resources/image/common/projection_alt.png | Bin 0 -> 1474 bytes
Resources/image/projection/file.png | Bin 0 -> 304 bytes
Resources/image/projection/novideo.jpg | Bin 0 -> 11497 bytes
Resources/image/reconstruction/color.png | Bin 0 -> 4158 bytes
Resources/image/reconstruction/color_alt.png | Bin 0 -> 879 bytes
Resources/image/reconstruction/export.png | Bin 0 -> 432 bytes
Resources/image/reconstruction/import.png | Bin 0 -> 394 bytes
Resources/image/reconstruction/save2.png | Bin 0 -> 322 bytes
Resources/qss/Devsion.qss | 204 ++++
Resources/qss/Geoo.qss | 244 +++++
Resources/qss/Hookmark.qss | 172 ++++
Resources/qss/darkblue.qss | 343 -------
Resources/qss/flat.qss | 4 +-
Resources/qss/lightblue.qss | 954 -------------------
Resources/qss/lightindigo.qss | 212 -----
UI/Reconstruction.ui | 93 +-
29 files changed, 755 insertions(+), 1553 deletions(-)
create mode 100644 Resources/image/calibration/cal.png
create mode 100644 Resources/image/calibration/camera.png
create mode 100644 Resources/image/calibration/novideo.png
create mode 100644 Resources/image/calibration/pics.png
create mode 100644 Resources/image/calibration/save.png
create mode 100644 Resources/image/common/3D.png
create mode 100644 Resources/image/common/camera.png
create mode 100644 Resources/image/common/projection.png
create mode 100644 Resources/image/common/projection_alt.png
create mode 100644 Resources/image/projection/file.png
create mode 100644 Resources/image/projection/novideo.jpg
create mode 100644 Resources/image/reconstruction/color.png
create mode 100644 Resources/image/reconstruction/color_alt.png
create mode 100644 Resources/image/reconstruction/export.png
create mode 100644 Resources/image/reconstruction/import.png
create mode 100644 Resources/image/reconstruction/save2.png
create mode 100644 Resources/qss/Devsion.qss
create mode 100644 Resources/qss/Geoo.qss
create mode 100644 Resources/qss/Hookmark.qss
delete mode 100644 Resources/qss/darkblue.qss
delete mode 100644 Resources/qss/lightblue.qss
delete mode 100644 Resources/qss/lightindigo.qss
diff --git a/Classes/DisplayPic.cpp b/Classes/DisplayPic.cpp
index 41a14b0..fe0f998 100644
--- a/Classes/DisplayPic.cpp
+++ b/Classes/DisplayPic.cpp
@@ -6,7 +6,7 @@ DisplayPic::DisplayPic(QWidget *parent)
ui.setupUi(this);
// qss
- QFile file("Resources/qss/lightblue.qss");
+ QFile file(":/qss/qss/aqua.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
diff --git a/Classes/Loading.cpp b/Classes/Loading.cpp
index 2d161e8..83c2210 100644
--- a/Classes/Loading.cpp
+++ b/Classes/Loading.cpp
@@ -5,7 +5,7 @@ Loading::Loading(QWidget *parent)
{
// qss
ui.setupUi(this);
- QFile file("Resources/qss/aqua.qss");
+ QFile file(":/qss/qss/aqua.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
diff --git a/Classes/Reconstruction.cpp b/Classes/Reconstruction.cpp
index 7b35c66..e069523 100644
--- a/Classes/Reconstruction.cpp
+++ b/Classes/Reconstruction.cpp
@@ -14,28 +14,56 @@ void Reconstruction::setStyle()
ui.centralWidget->setGeometry(0, 40, 1110, 400);
ui.centralWidget->show();
+ // qss
+ QFile file(":/qss/qss/flat.qss");
+ file.open(QFile::ReadOnly);
+ QTextStream filetext(&file);
+ QString stylesheet = filetext.readAll();
+ this->setStyleSheet(stylesheet);
+ file.close();
+
QPalette palette1;
palette1.setColor(QPalette::Background, qRgba(44, 46, 70, 100));
ui.widget->setPalette(palette1);
- QPalette palette2;
- palette2.setColor(QPalette::Background, Qt::white);
- ui.stackedWidget->setPalette(palette2);
+ // QPa/*lette palette2;
+ // palette2.setColor(QPalette::Background, Qt::white);
+ // ui.stackedWidget->setPalette(palette2);
ui.stackedWidget->setCurrentIndex(0);
-
+ setPicStyle();
+ setButtonStyle();
+}
+void Reconstruction::setPicStyle()
+{
+ ui.label_11->setPixmap(QPixmap(":/icon/image/calibration/novideo.png"));
+ ui.label_21->setPixmap(QPixmap(":/icon/image/projection/novideo.jpg"));
+}
+void Reconstruction::setButtonStyle()
+{
QString buttonStyle = "QPushButton{background-color:white;color: black;}"
"QPushButton:hover{background-color:#cceeff; color: black;}"
"QPushButton:pressed{background-color:rgb(85, 170, 255);border - style: inset; }";
ui.pushButton->setStyleSheet(buttonStyle);
ui.pushButton_2->setStyleSheet(buttonStyle);
ui.pushButton_3->setStyleSheet(buttonStyle);
+ // 给Button添加图标
+ ui.pushButton->setIcon(QIcon(":/icon/image/common/camera.png"));
+ ui.pushButton_2->setIcon(QIcon(":/icon/image/common/projection.png"));
+ ui.pushButton_3->setIcon(QIcon(":/icon/image/common/3D.png"));
- // qss
- QFile file("Resources/qss/flat.qss");
- file.open(QFile::ReadOnly);
- QTextStream filetext(&file);
- QString stylesheet = filetext.readAll();
- this->setStyleSheet(stylesheet);
- file.close();
+ // 相机标定界面
+ ui.pushButton_5->setIcon(QIcon(":/icon/image/calibration/pics.png"));
+ ui.pushButton_6->setIcon(QIcon(":/icon/image/calibration/camera.png"));
+ ui.pushButton_7->setIcon(QIcon(":/icon/image/calibration/cal.png"));
+ ui.pushButton_8->setIcon(QIcon(":/icon/image/calibration/save.png"));
+
+ // 图案投影界面
+ ui.pushButton_4->setIcon(QIcon(":/icon/image/projection/file.png"));
+
+ // 三维重建界面
+ 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/save2.png"));
+ ui.pushButton_16->setIcon(QIcon(":/icon/image/reconstruction/color.png"));
}
diff --git a/Classes/Reconstruction.h b/Classes/Reconstruction.h
index 87eeb90..3068fd8 100644
--- a/Classes/Reconstruction.h
+++ b/Classes/Reconstruction.h
@@ -24,6 +24,8 @@ private:
bool confirmPic = false; // 图案投影:确定是否用所拍照片进行重建
QColor color = Qt::black; // 三维重建:颜色
void setStyle();
+ void setPicStyle();
+ void setButtonStyle();
private slots:
void on_pushButton_clicked();
diff --git a/Resources/Reconstruction.qrc b/Resources/Reconstruction.qrc
index 196c380..d15f170 100644
--- a/Resources/Reconstruction.qrc
+++ b/Resources/Reconstruction.qrc
@@ -1,8 +1,26 @@
-
- qss/darkblue.qss
- qss/lightblue.qss
- qss/lightindigo.qss
+
+
+ image/common/3D.png
+ image/common/camera.png
+ image/projection/file.png
+ image/calibration/cal.png
+ image/calibration/camera.png
+ image/calibration/pics.png
+ image/calibration/save.png
+ image/common/projection.png
+ image/reconstruction/color.png
+ image/reconstruction/export.png
+ image/reconstruction/import.png
+ image/reconstruction/save2.png
+ image/calibration/novideo.png
+ image/projection/novideo.jpg
+
+
+ qss/flat.qss
+ qss/Devsion.qss
qss/aqua.qss
+ qss/Hookmark.qss
+ qss/Geoo.qss
diff --git a/Resources/image/calibration/cal.png b/Resources/image/calibration/cal.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1874ae9addd0c4d735380e0548fb27e11037d48
GIT binary patch
literal 1754
zcmV<01||84P)}#900GJ2(I8)fQfQK`AvYWRBz-_>$
ziF9uQHv(S+TLWt*@81U20KUxDDuba70M-Y_CNep*&Tvd;00$@E9R-|}p-*UX8+gPlEKx0N*DAXuyzK2t){&IVBRqMvqTc?51d;|qW>DL
z3OttZcsSmY*-zKzy#PQP{+MXgm%{A-(LnG^f!!j$I}JN`@#&9DnQ!&_g0StpH?*s3I0E?d;!6^e^HDLGPoy}LJVVC#X
z|1Q`5AOk4|N|tEY+4sP`!6~~c?jr?2Z%prNs)hr-2HXK$2WZ0fC(RCQ4{Qgl*oThK
z2lgxYV*ttyux{gM+3C@#wD-J+m7i^pD|0xo7@*Nre8z@XH#uCH<2}>@fW3eVOE`WD
zN~)-P$xoH^`K1j_Gsjp2@DY^aZ$D=(=||sUL;-*i+4uy1D_mVJWg|92o!mM;8z+hk
z7l70U{~6d2czmd9oyhMh&^y&qE$CDM*fVi8TZ_mJ0KmHAafoe<02~gS90@Zi1F!>d
zO{D8s0q|P6KKfGodyfH_oi>Kt7w{S^XtV$<7*6&o*
zaCbQPig(`a-ji+J>urFbC8@ts(C;3I1pqq(S0++SN+6`ltE$ndQL!bM#_()3DS%L>
zyn&W=fN`lW;9=;Y7}HP&p-lOggN|>gWSKYUR&YxUbr8yw*Wz`8jUSAsPVsA)dF0E9B-wQt<>I(Vg22LKsQ1ddF4Fp0TUr;c0xKJ{lD{??%UxNfr41;9SaB1VR-
zJy{2uyxNwEgiv{tD1TQ8mIHu&nXijWSxkMmR?*c#8O!aSh~AleH5#qmUrD(Dq^n>s
zxX!6eS-FTw0f1eA%cH68DF6=SfCUYP6_BRV%@&!!sYSUf;He}gZxMsn&p?v-g0B(*
zrUi^>S5htjR%=Zk_3Fv{YUL=sZ}2S;r{j%qTcA-%IRIGLJb@hzOac5=IZE#vSczsu
zT0uJ{vA>QI%hZ((QWrBbK67{kaN?6;W21;+8V}wRFVq4=*gN>`HZ4fSp({
z5i4X(kV41BP@9Drx8%Ky3{0xHPij_A4(uJCB|Gp7RslrO#N_Tdq0l2{GYMK*Oqm0K
zh07K&r{wIYm|MaOY#AApEEKnfuNzGr0pTstsXuG~OmLQMFN-VF-yfBBlmmbrlto^<
zDWiae;`$Cbq}N%jh}!;r*ixqVJ*O%u7l67T=ph!0_tjmVIRc{U;LXlsHUU5obT{1+
z+Tbz$7>pU~cweZ5Kd-?Y0SFJ+g%ehz!fsEWG&s_Al%@a_ohpdI2W@c^j)ur{e<7L&
w!@pIm{ua?~VFcK~hX6F9z5>u_(80v?4+hv-g0j>bqW}N^07*qoM6N<$f-I0G2mk;8
literal 0
HcmV?d00001
diff --git a/Resources/image/calibration/camera.png b/Resources/image/calibration/camera.png
new file mode 100644
index 0000000000000000000000000000000000000000..a88f7bdab45d07d4d2e322202ce92599844db7a5
GIT binary patch
literal 762
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
literal 0
HcmV?d00001
diff --git a/Resources/image/calibration/save.png b/Resources/image/calibration/save.png
new file mode 100644
index 0000000000000000000000000000000000000000..765a5d78f052b0ba7251d48b7191d7f5b4edc235
GIT binary patch
literal 312
zcmV-80muG{P)u8B_Z
zz32O}p98)&1E#>h_+>vAUjT(8)r8iiQr{`
zEnr@P70?C7W*6}|`C(atB_IshpCHk1^`O=giLnhl>gqu}CGRHtoB?;OJMO7ts@e_<
zqMrc8+p$e0D2Sa1`+3lsK`;S2o~hh{y%UpJqR&rH0^P*!4V+2P0(zbVH{h8!15fPK
zO6Emsq!-1;pjIvVb1QdZTpRJPB7+E6NbBE(N@q0pT6sJG0000<
KMNUMnLSTZXBYtcE
literal 0
HcmV?d00001
diff --git a/Resources/image/common/3D.png b/Resources/image/common/3D.png
new file mode 100644
index 0000000000000000000000000000000000000000..febd37c2808af6124caa6bedb10c0806329b1d37
GIT binary patch
literal 537
zcmV+!0_OdRP)X6vy$;JCS6dWMX8XluRVINJPnHsxWW~69Y;76(kv$AeRBk)FnkEa!V#s%D~7(
z%0QBlep=7l<2dhgF3ITKwd(2Yz1DZH-`RVuJ>fr(iT}(qE^te2^zNt|9tF4wTgw&|
z=soU~-5&-%2)GX03bF(ralI_@ca<%`+XCOlv3Y
zF4lab+R(rzsbx5Z-97iOxsTUy8n1g)7#rA*bF|?3Es!%EQvVZR;x~sYQgw}K;BToW
zPgI9i(~>sgOdp!b`}F`Ps}}Y?+=wn}y@Gcs4#2_%gn>$o+tGu&;dQ
z<6HTj!uQ6vtK+A=WS7fp@daGLlb%Ym7JG59*1alFI?P{V&=VsLDctD@d&>Jce$@9&
ztg7#;)k%5__#e<=fQ>^W3pkcOnUTJib`@(&K4r}q1=tRf`;{^3YhdhmX?Kt4m>oC6
bv4Ot;SLll!UvYt+00000NkvXXu0mjfS~C6T
literal 0
HcmV?d00001
diff --git a/Resources/image/common/camera.png b/Resources/image/common/camera.png
new file mode 100644
index 0000000000000000000000000000000000000000..a88f7bdab45d07d4d2e322202ce92599844db7a5
GIT binary patch
literal 762
zcmV4|YW?tf)i^(^5)|O6;WzR73?8)q@rqL?K%A
zAQ%+g==NZebnl@H1tt~=fnxNK{4tg+7W?dd_BlCWvDkBuIsQ4u_{Tri1jDasSc^0I
z9Q_>|@#aW26FPtV+xdMP)_3+^$2EAU5AcPUj`Q$GFS{=AMIED`k*8V5;#a(gyZZoN
zk4;#P7e)g-DDgMoRh*BH`WPRDZ}1(SXxSYKq=|S17T~f$$aog3MqzjB2+_WTEdjo|
zQkT?h8Q}0Yd_M}%#$+}wZ`n`AO6&;m$M^}0aRH8K8GemDeSl^l&*@eBq&64Z-{;Je
z;YWbOOkDfd`duHJ+*r<)Sy%CE{!+K0x+!fs`pkx~1cEXy7UM
z96uBnn#kWSkV&{1?-y8+y4V>E>u@6OFV-JFo*FMINlheS
z_;d9xj!8MaHz)nA<4_
zljaZ0!%R%XLS*p2RVtQuzC1GN?!wdK6_Dn9I(`1XNM_^Y
zXgpFPacawR21K;`8NAa2G+T%IIAZV%t{A~^(DrdP8Z)c&Su|+zN_`IJ
sI;r%0Ycm2d4u
zj+xCT$dPFaitVd_*#vkbbKAxNi$;AXI3P`qPg!SyITTnI_z5@-I5QIvyBT|21}p@;
z9irEvNCkTNl+>DaknaP(B)*&vSUmdtBjCLn@bo=W3_~M1pv20r3~U#6z6j6bHd@x3
zArQMB@aPP!^aIK)z)`@Fz%(sZ_+y|E%yC|9(Qmvp%>_mOqEj@J&6Qt)^MDg`2N+bp
z98h}2E^T#v1JF+mjkE>jK;Vi2Xs^HN$Lcy&sSPN-0MS1@2fPYA3ycL;09FjY{d?0I
z?Joq5=yY|NgEa+ZRp9xWIf|IY6n`yXbol)g@HFr;aBo<2oevpN!P^tS`W2uEf^o|^
zz+N@L$9l08Ss{jbwy7dDDpp-0o`$dqFWXJ*mZH@*vXzuK|lB`gsh?XLMHJo^Tt*&GlVw
zNK*@Kp=Nf|Qv}6b-6k=F3$xrYZ}i>wfZ6a5i9W{yXD2>4Vim+#oYyNll}L_{%-IY*
zma&3j^)Ftybzkeh-vB0lWpQ!Rh$&WW{!lYYZIe-}RmZaE)IDN{Bsw&Wp|VXPkn^T3
z{}LyzW8Xgq=57IsZM|w!Vx$`vx&%e`P4X(GTh)R+wkeKgO2CateK&g;Outcxmg4bk
z1cPJkP0_Ac*#y%F$p&@;0p|&+@y*iXT1*tII@;HLJTyWS^
zL=$MCM$%aAr)@u#4XQcfwDGWQWuLHh>JC%%@yMpLESeozzx7YiO=H&
zYJnaNtx-o_mcmjzM%I|h;uDiwazSw*gRAKi3L4%UfVGKnieY^7qDgBJDcKk>YK}#V
z5G;L^yKObnkV5hKh!$+_c6Z5&b-W&x;+FBqd89t>2Nadts6u(o)8`Zaxz=jT$Eu-m
zj+w9tXDk98JNLLvRiVwe%9|;+8v7Snxi@MdS;wasOln~2!~%4PX46`d7Gue@O3Ecv
z7jAr#5^srXYsTsFt87qILTX^|8g1?hPr8Tc^7Bff7j9?;22K}t!=z06jlb?Rwp+q|q7D8=_~p7~hc
zpg5q_J{?!rQp7&-xV<(aR}UWr7;1C^ib_;5X1NOf9um(~|Egp)cdnveU%^||2{S2wWoIfhZE?{U46Oy#wV6fsq|
zwxPe0JJ^`kLyU+kx%I00>@Z@krBpMuKrbc2BZz87QYxlXce5zcahF=z;1rb-Ha0y88Dfs|K)E4
zE*2Db-bmB(=ADHmjrAe>9ODag}Ndd3F0CAylz1Doif3)_A
zgtX#J6FC~b$CCoJs`*d#plK01m4g%orD4Ubt_W7E^Z%eE;AsjIj&SfAoZ_u!vs)@Kx(9OQ&3#2j#m=NB9?@aKf^9Q+bCXXSxS|P>?wZ&
XrLw3RzV1Hg00000NkvXXu0mjfC9IKU
literal 0
HcmV?d00001
diff --git a/Resources/image/common/projection_alt.png b/Resources/image/common/projection_alt.png
new file mode 100644
index 0000000000000000000000000000000000000000..d673863f0675a8beeb92df0ac2086ea4c260b231
GIT binary patch
literal 1474
zcmV;z1wHzSP)6`$>d>NgA1->dZtVM=9b*4R8M!OYh=o<14C*#_x3%1{b#x7
z#?awnI^2FT05S%2I0BgqbT|RBAegy8<^mm#K;{A+PJk>6WG;}oK!+ocxj=^#pkWqx
z0ayqe4$MdySU&+@0j~ge)?52TF7P#QXv&PPx7@dZ)8k&&1E3FB_CGN`G-CzuSk$IC
z0L}$oauh|M2Y_!=2FRIq-A6j>o(cTw+7So9UBJy&>2=_&lo{?WcfW|i3xLlW0pQYq
zEwE;a0dNd3Y6Dy|OLOfh02|T=`b#y)iZUf!}
zcG~9$+Eguu%yx96>8@n}6eZ)(ZNbKdsviSS0Qbdc%HQ4Rx?VZKjC%tm8zVxs(|~vE
zP0IlM>;#&Imb9s$45LgF%Dy&DDey@IluB_12M6bmj*hC3IU3jnY&OQM%;)pltgik&
z!d`C$P6mDhS_a?);Dj~}Yh`$krMAZCdcYZc2Jlv~SX^d|ks-TDS6A19rAwEJwLZ}A
zD1<4mWdJ6-4!GV{XyIB1fm7_wRlvjcdb7Ub(9qC~;o;$}#+Z;5Q4qG|a=FDlJw1N`
z9|6Z(h1I}4d%}Rp20-gO8+gsJodSb_W2{g)#Y;exN5a3<7(o0o+%cKON=pMPECw4i}Lxr
zGR1n}a{Kss;DST}7#J9MGzfw#BOKfr1cB%Kz5)-$VsVWzMk&jcaXR)z900C+l!5%F
zO`B$pjEtzzsYwt7!^W6D-5Q}%smv}E3etHWSZq~qv3-E#VnC@>au@9yxWV&01s$5v
znE-%Oo%Hp)4aVE*fEog_-1q$#ZPP}d_4f9wjJnp^aaZOz;I*^6-6qARRe@l%O1{sasU*I
z#Z|@_rLcb`m&?65Ha0fs`+jYoT`HACSp_p!c2p{rwS_`qhx2eE0My0NrpJ{(Y?Y{t
zP_g-5IbYSIE72xTG63}V_s_}Ya>~bZVwkYr^Smo807JmMs7??B>wMq8wn+e_)&<-P
zTo?0uagSaG)Xs}aG5}cPVzWRH1Z#cYuXT<}rIH#HYCVmUAP83bzOTwGl!+MNjuqpS
z($oxzw&qp+sdRq`c(x8u$pN6MtWv2gAICRiHhP|?eRxgE;bzV`DeCI=Ni#hkQQ2
zE{chBzgw#+#uyo|J&OL+5|iNq`|kz}X&C^~?j}2_^6NN*o1|kiYRxjBnYrreM4O_D
z8J~>%fH5Ogi>oG=DC*t;ygCVO@yP~YzWsP^dOQgDu@L}z|6gy3+xg1Pj*abbXGdcV
z;8W?Tro{fu!aT+FD%UakH1Hi1jP&mfF0ssI207*qoM6N<$f{wknBLDyZ
literal 0
HcmV?d00001
diff --git a/Resources/image/projection/file.png b/Resources/image/projection/file.png
new file mode 100644
index 0000000000000000000000000000000000000000..f41455da88be20893434cc6f9e4e9cf8840e96dd
GIT binary patch
literal 304
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
IM6N<$g0nXdA^-pY
literal 0
HcmV?d00001
diff --git a/Resources/image/reconstruction/color_alt.png b/Resources/image/reconstruction/color_alt.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d4c6ae91d464b1dd1e9e0174a93f91a68e3c6d5
GIT binary patch
literal 879
zcmV-#1CacQP)dBqE{Y
z5HW6$LQ1CSnbw}(|Nif9zWx18&CRUZ?frfGeb;*4^*n2>y~ujDMe8}f4FLX62DZW0
z$o((;f?w--G_$h+*cV4M*Q6jH;Ss!yucsjy17H_ii?bSMzv0{F+8jGK*A}(*e%yc`
zCIOiSAVCv6Aaa_VDyPdS*JjywHV&>u*WMSiahz*V@ZHrVmyrR
z>U{uSjq~vsUc~b_sWP`I4#k#u6MJL79ApxJ3vqV|>Vk5bSP$Ub3K{@8Wh^Its7Xoo
zUNn%R06QKp)qOAnr{gJnUyk2u93@Dng`coPy*mdFHtQ1TgdTu9a0%Y4;6D#hkdk@_
zJK-RF+;ehDIo=D;HoWd$+DKYM%Pp0`Zu@1p4c}mC$Nvz3n{g#N(Y%X@CR%u6T1jCy
z{D?oAwI|~l{E6exW^@h(yW*=lbxyy1{f@6z#UpU6S#khg!)7?OfXvz7itu9GiED6U
ztx76G%Zj1RQ;&g
zS#5F??7x81pIPOY>PevA3qbVnX;nwEyT)1yo~trRn_S(eXSBl*-qWCts+#Xybme^)
zBKAQ59Y^i^2wRQ`W;mr84FbrY>Ft*yo6^y8WdPk?
zx|o!dyib=*s}1*^ZCt{O7BU;=mEyE<97mma4zEep2NA9VJma>dF1$aAQ1diS8$v$@
zKzc)Z#OKIl%&cfFbD*!82>71rD;ZMfO-kJu0NHzA&HBHQGD~mof8}gjWtVgxSpmE6
zh>3b03m^`n;C9BRXQZ=bSS>*^k@AhbjwgHH2!kMI0T2h_`DkRwwDu3a#0M2P6*0g}nPRih&I7A+LOLSn5G3f5WR&e4Vp{0H!cry+y+LP`Jt002ovPDHLk
FV1l*Om{b4&
literal 0
HcmV?d00001
diff --git a/Resources/image/reconstruction/export.png b/Resources/image/reconstruction/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..63608ce3d48686e338ccfb291725b334b8fdc148
GIT binary patch
literal 432
zcmV;h0Z;ykP)2uB2*HHg9X0cco-xTl&J6OkL738Xb
z(Ef%I{OJU03K+tdOz;Pu;(Hm=1aK2iuvQW~$1uL;>%9W{@w^ZSksB5FK7ozo?*%Z8
z1>CKxn9M(qxA9#E*u=9-2&b)Q7{Eyt;247q#3Sxb-4*@9tuEr>JH`DD{-~_SbxB@E
z++l97i+bNL7RzNC%O5dSSEl8_&zOn3ECr@cPRnnw)Jvni!(6d(C3`Q&Ccs6p=Y6+a
zSVG->NEv91wpVCpf?;BAHe804XP3_vL^{(o4L+rv~NOF(e1<
z6~k)0E%DIF0e^81N7n^tQ}@4CI>8towoKT?b^`n^%Ck+z&lq?K5HlpYxJ~rUF4y1VO4M#1s#KB_1bYu35<8y6ajudQ!7L6Epx=0dzjcxlLFC_KBmsJl{U!v_
z+?fO@jwp_*a+FrEjrj!S8n2rWtYJ9;ilZCtRqzf+nOpLJ({@ZWeXct`cSKcJw43vY
z>Gl`@Y%M2vg`aqvsbmowshFG~a>nrk0~L}jEL3fvL=d^3u#SwG=MYJCDpNH~wz3T*6h+Z$
ztGDNSXQsd29awP;R;;fET;Tj0z)OV2ho}MfxW=fe2;d_gnss$P)*a&(bC4Dg1+`c#
z4nVuJl8@SW4xOVe$T9(O$T`Te0X1Z*odvYL+nHTm^T;@zhLlFJKeTSjStU
z(jeWjk0
- 190
- 120
- 121
- 31
+ 10
+ 10
+ 471
+ 281
@@ -517,7 +517,22 @@
NO VIDEO
+
+ Qt::AlignCenter
+
+
+
+
+ 0
+ 0
+ 491
+ 301
+
+
+
+ graphicsView_3
+ label_11
@@ -692,10 +707,10 @@
- 280
- 170
- 121
- 31
+ 0
+ 0
+ 701
+ 411
@@ -707,7 +722,22 @@
NO VIDEO
+
+ Qt::AlignCenter
+
+
+
+
+ 0
+ 0
+ 701
+ 411
+
+
+
+ graphicsView_2
+ label_21
@@ -750,7 +780,7 @@
470
480
- 81
+ 111
31
@@ -808,7 +838,7 @@
650
60
- 191
+ 201
171
@@ -856,7 +886,7 @@
10
- 50
+ 40
61
16
@@ -868,7 +898,7 @@
- 70
+ 80
117
51
21
@@ -881,7 +911,7 @@
- 130
+ 140
117
51
21
@@ -907,23 +937,23 @@
- 100
- 47
+ 90
+ 30
51
- 21
+ 31
- COLOR
+
- 0
+ 10
10
- 641
+ 631
521
@@ -931,9 +961,9 @@
- 700
+ 690
310
- 93
+ 131
28
@@ -949,9 +979,9 @@
- 700
+ 690
380
- 93
+ 131
28
@@ -967,9 +997,9 @@
- 700
+ 690
450
- 93
+ 131
28
@@ -995,6 +1025,19 @@
+
+
+
+ 240
+ 260
+ 161
+ 16
+
+
+
+ 姝ゅ鐢≒CL灞曠ず娓叉煋鐣岄潰
+
+