From 5d1bbd5298d5bf7f639d15ca8f13fc28fae7b5fe Mon Sep 17 00:00:00 2001 From: Pheggas Date: Thu, 17 Feb 2022 15:01:58 +0100 Subject: [PATCH] [1.1] Adapt components - Adapt components based on size of input device - Moved camera device option - Other misc. features --- .vs/bakalarka_final/v16/.suo | Bin 147456 -> 145920 bytes bakalarka_final/Form1.Designer.cs | 64 +++++++++------ bakalarka_final/Form1.cs | 76 +++++++++++------- bakalarka_final/bin/Debug/bakalarka_final.exe | Bin 15872 -> 16896 bytes bakalarka_final/bin/Debug/bakalarka_final.pdb | Bin 40448 -> 40448 bytes ...alarka_final.csproj.GenerateResource.cache | Bin 1012 -> 1012 bytes ...alarka_final.csprojAssemblyReference.cache | Bin 424 -> 424 bytes bakalarka_final/obj/Debug/bakalarka_final.exe | Bin 15872 -> 16896 bytes bakalarka_final/obj/Debug/bakalarka_final.pdb | Bin 40448 -> 40448 bytes 9 files changed, 86 insertions(+), 54 deletions(-) diff --git a/.vs/bakalarka_final/v16/.suo b/.vs/bakalarka_final/v16/.suo index 4a7357793270bfdb6799731f89dcb81e367e005e..c0c6548b1ee9ca54c40609d97f68dd4c5af1d6f9 100644 GIT binary patch delta 2354 zcmc(fUrdu%6u`f8TClAM1zIT`Xn}&IKq;k^Mj;lWsQ3?!iLAOQ3W^i8Vr!gE`J&50 zhH=oVTsE8`4Ra4JZtyMi#ciGOVK0l~!)7+JVRTEDkZljLOg3fbB3*ni(JeE($?rRV z?zw-?x%a!Wtd;L+x}Et_yy+!rA?YgO;q>&ha05|KtY)`M(uV@w&=b&vu`Stmr~Hn} zdJEQ5Uu-!$ibr8So5WMlz+P1y1DQ>#Dw|ePXBt6sP3uUO5ha9)NFjuOK1mCaNh>81 z8Kf^Dl8J0W#N?1P5V?ezV)95P5PGqxo`4~B6&WHh-j+Y=s484B+hHb|M2NH=%n}b4 z@?9}NX-LR|JH14a>{rzKK}G$NfaD93fD=un;EB=1uKlJ9|0nN02g=wKmz2b^G&^xeinsU5JH zP14t;gwi_H&k$wqN(g6NQ?BJ!L8K2OR*cv%V!?=A7g>hG1wnumB~;lptFln#CB@<% z2ezZ#qQ84CZ*WD-Q2)iix(lBT!hXfM@&<&ft|f`|1R`;ELu1nj!$(HAy3rQze35KF zv4s%6mq@-ms|%aS)kkIq3L{dB5g&%@y!y8&q?_m=!US9CwrhAD?X}9AEY--a~qPWo$s7!6H z$E2Ag$ezi$!Ee&`lX0H-@X@d1Wmo)~c^{KQA+qSEfHLYYg~&P#Z}k};ze1T5U?heg zjnpuM+AtJ&4SE;DTy^a-SDliwy$o#P64Nvi66bq&jH!Ma`&JtC)Uu^_kNi;c3(J}C z)KZreZCwI=xsh(X~3P7=W+d-~*ZH=YvJCb)*2+&%qBQzM%xV_?R86{D1=*c!LAV zK;qd&u#hh(0v*5P0OLq0Od!3%OC<4L)<`?0ptMIiEVa-X(ho~Ml&~wLL8rSs};YsE`=;oj1qmIXlQ06f;%F$Rc#*hVS z=`t+ASX9ms!*d;A;wK8wz>BMK(|pHv36m_t^@k^^D2P~qi}5sDndHuw%*0BRrx_*j_tQ+l@F!5l)0`)*rAstN zqPa*jr8MQpYY;qI34E( z@KKlA4M*rSeh*Vuf*TIeY5Xn}U5Re_|IpG7M|hL;qP}nv{CeWgC4s6T03CHz4~OOX zC@+fk*Gh5`teG#$9Q9a;&U>QvIt?aJ5y>WPRmhy?Mfy$nX3aw_ksP3OJv_x{O7tz>>Ty)kl_ znXtVB|DHp9S9g!iWzaGJA^E7yq2$-=Jq$=3 z@*Mygxc)V@d?2U0#*(q0$9eN!yzKlb zl?fNvq!}*4Wlr8zc6D#<+tlAZ$Y!dcIC!uMj)Pn#G|nlpTPC=katOE04RdG=8UA23 zK5TnZLi51j7Nen2vT4}3bs1|gL#6j_}idD#2{i3dV1AfkoVwgp+jjl z`bkFMsf9;0%CH&S;O$k(%|=t@qn9~{*EAx0EG$$=QXm{(BfDHkRBS~J6qXnlnksjq z)4z-~0kFsS{3*)`9YOvjcEbz}J{yEs#$vFXwSz~-vdxgnLMA9@V~gRlphrVOgtgZ| zqr!f3P}m|EX~*m7tSf?K08nt%`#NEkztIAP(q|NFzv90+fhp37nT5KcFm1CiBn${n zpR<1&y=X6BFS_{cG>a>2!Zj}(VYTx6wS`;kd?a~ZI%wmT9Df}gy8|u(8Wccs) zks5EVuuooOOSs4%Rb!F6zys`?YG~p0O@-y*fTQ*6=6Zg8IP&FE*+;PT*})n}jCk6W z|EB^3c>#d_Q0EK!dLUZHKFlC`7U}~Ft1l)BrZAB^r%K6xXfSmjSlPK=h+!|Ll3#)r z9l@lnT4D(Hrx7m%J-H}2r6u4iAiEjSkvbMCz>cWU5>F8C6}G%3lUU#kh1_~}LG@Iu zu~0Dyo%YNpz$P~D{OUaZz-rjhHRO7!N;ol)S+wR8K&b$wq0r4gu<<~ J)7B+n(H|tBP0j!S diff --git a/bakalarka_final/Form1.Designer.cs b/bakalarka_final/Form1.Designer.cs index 4b70a63..7ae968d 100644 --- a/bakalarka_final/Form1.Designer.cs +++ b/bakalarka_final/Form1.Designer.cs @@ -39,12 +39,14 @@ private void InitializeComponent() this.minFaceSize_L = new System.Windows.Forms.Label(); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.chooseCameraDeviceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.slovakToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.label1 = new System.Windows.Forms.Label(); this.timer1 = new System.Windows.Forms.Timer(this.components); + this.deviceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chooseCameraDeviceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aspectRatioToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.minFaceSize)).BeginInit(); this.menuStrip1.SuspendLayout(); @@ -52,7 +54,7 @@ private void InitializeComponent() // // pictureBox1 // - this.pictureBox1.Location = new System.Drawing.Point(12, 65); + this.pictureBox1.Location = new System.Drawing.Point(12, 27); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(615, 404); this.pictureBox1.TabIndex = 0; @@ -60,7 +62,7 @@ private void InitializeComponent() // // button1 // - this.button1.Location = new System.Drawing.Point(633, 65); + this.button1.Location = new System.Drawing.Point(633, 27); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 1; @@ -71,7 +73,7 @@ private void InitializeComponent() // count_L // this.count_L.AutoSize = true; - this.count_L.Location = new System.Drawing.Point(633, 91); + this.count_L.Location = new System.Drawing.Point(633, 53); this.count_L.Name = "count_L"; this.count_L.Size = new System.Drawing.Size(35, 13); this.count_L.TabIndex = 2; @@ -80,7 +82,7 @@ private void InitializeComponent() // side_L // this.side_L.AutoSize = true; - this.side_L.Location = new System.Drawing.Point(633, 104); + this.side_L.Location = new System.Drawing.Point(633, 66); this.side_L.Name = "side_L"; this.side_L.Size = new System.Drawing.Size(35, 13); this.side_L.TabIndex = 3; @@ -89,7 +91,7 @@ private void InitializeComponent() // rectEmpty_L // this.rectEmpty_L.AutoSize = true; - this.rectEmpty_L.Location = new System.Drawing.Point(633, 117); + this.rectEmpty_L.Location = new System.Drawing.Point(633, 79); this.rectEmpty_L.Name = "rectEmpty_L"; this.rectEmpty_L.Size = new System.Drawing.Size(35, 13); this.rectEmpty_L.TabIndex = 4; @@ -98,7 +100,7 @@ private void InitializeComponent() // faceCount_L // this.faceCount_L.AutoSize = true; - this.faceCount_L.Location = new System.Drawing.Point(674, 413); + this.faceCount_L.Location = new System.Drawing.Point(674, 375); this.faceCount_L.Name = "faceCount_L"; this.faceCount_L.Size = new System.Drawing.Size(35, 13); this.faceCount_L.TabIndex = 5; @@ -106,7 +108,7 @@ private void InitializeComponent() // // minFaceSize // - this.minFaceSize.Location = new System.Drawing.Point(645, 237); + this.minFaceSize.Location = new System.Drawing.Point(645, 199); this.minFaceSize.Maximum = 1000; this.minFaceSize.Minimum = 1; this.minFaceSize.Name = "minFaceSize"; @@ -118,7 +120,7 @@ private void InitializeComponent() // minFaceSize_L // this.minFaceSize_L.AutoSize = true; - this.minFaceSize_L.Location = new System.Drawing.Point(655, 221); + this.minFaceSize_L.Location = new System.Drawing.Point(655, 183); this.minFaceSize_L.Name = "minFaceSize_L"; this.minFaceSize_L.Size = new System.Drawing.Size(13, 13); this.minFaceSize_L.TabIndex = 7; @@ -127,7 +129,8 @@ private void InitializeComponent() // menuStrip1 // this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.optionsToolStripMenuItem}); + this.optionsToolStripMenuItem, + this.deviceToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(843, 24); @@ -137,46 +140,38 @@ private void InitializeComponent() // optionsToolStripMenuItem // this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.chooseCameraDeviceToolStripMenuItem, this.languageToolStripMenuItem}); this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); this.optionsToolStripMenuItem.Text = "Options"; // - // chooseCameraDeviceToolStripMenuItem - // - this.chooseCameraDeviceToolStripMenuItem.Name = "chooseCameraDeviceToolStripMenuItem"; - this.chooseCameraDeviceToolStripMenuItem.Size = new System.Drawing.Size(193, 22); - this.chooseCameraDeviceToolStripMenuItem.Text = "Choose camera device"; - this.chooseCameraDeviceToolStripMenuItem.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.chooseCameraDeviceToolStripMenuItem_DropDownItemClicked); - // // languageToolStripMenuItem // this.languageToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.englishToolStripMenuItem, this.slovakToolStripMenuItem}); this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(193, 22); + this.languageToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.languageToolStripMenuItem.Text = "Language"; // // englishToolStripMenuItem // this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; - this.englishToolStripMenuItem.Size = new System.Drawing.Size(131, 22); + this.englishToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.englishToolStripMenuItem.Text = "English"; this.englishToolStripMenuItem.Click += new System.EventHandler(this.englishToolStripMenuItem_Click); // // slovakToolStripMenuItem // this.slovakToolStripMenuItem.Name = "slovakToolStripMenuItem"; - this.slovakToolStripMenuItem.Size = new System.Drawing.Size(131, 22); + this.slovakToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.slovakToolStripMenuItem.Text = "Slovenčina"; this.slovakToolStripMenuItem.Click += new System.EventHandler(this.slovakToolStripMenuItem_Click); // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(727, 342); + this.label1.Location = new System.Drawing.Point(727, 304); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(35, 13); this.label1.TabIndex = 9; @@ -186,6 +181,27 @@ private void InitializeComponent() // this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // + // deviceToolStripMenuItem + // + this.deviceToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.chooseCameraDeviceToolStripMenuItem, + this.aspectRatioToolStripMenuItem}); + this.deviceToolStripMenuItem.Name = "deviceToolStripMenuItem"; + this.deviceToolStripMenuItem.Size = new System.Drawing.Size(54, 20); + this.deviceToolStripMenuItem.Text = "Device"; + // + // chooseCameraDeviceToolStripMenuItem + // + this.chooseCameraDeviceToolStripMenuItem.Name = "chooseCameraDeviceToolStripMenuItem"; + this.chooseCameraDeviceToolStripMenuItem.Size = new System.Drawing.Size(193, 22); + this.chooseCameraDeviceToolStripMenuItem.Text = "Choose camera device"; + // + // aspectRatioToolStripMenuItem + // + this.aspectRatioToolStripMenuItem.Name = "aspectRatioToolStripMenuItem"; + this.aspectRatioToolStripMenuItem.Size = new System.Drawing.Size(193, 22); + this.aspectRatioToolStripMenuItem.Text = "Aspect ratio"; + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -226,11 +242,13 @@ private void InitializeComponent() private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.Label label1; private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem chooseCameraDeviceToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem slovakToolStripMenuItem; private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.ToolStripMenuItem deviceToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chooseCameraDeviceToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aspectRatioToolStripMenuItem; } } diff --git a/bakalarka_final/Form1.cs b/bakalarka_final/Form1.cs index f3d59de..6bcce76 100644 --- a/bakalarka_final/Form1.cs +++ b/bakalarka_final/Form1.cs @@ -39,14 +39,6 @@ public Form1() { InitializeComponent(); haar = new CascadeClassifier(cfgFile.haarFile); //initialize haar cascade - if (currentLanguage.ToString() == "sk-SK") // and app preferences with this variable is empty - { - SK(); - } - else // and app preferences with this variable is empty - { - EN(); - } } private void ProcessFrame(object sender, EventArgs e) @@ -57,12 +49,10 @@ private void ProcessFrame(object sender, EventArgs e) if (camera != null) //comes from button1.click { camera.Retrieve(frame, 0); - //pictureBox1.Image = Image.FromHbitmap(cFrame cFrame = frame.ToImage().Resize(pictureBox1.Width, pictureBox1.Height, Inter.Cubic); //edit image to fit the pictureBox; convert it to System class image Mat grayFrame = new Mat(); CvInvoke.CvtColor(cFrame, grayFrame, ColorConversion.Bgr2Gray); //convert image to grayscale Rectangle[] faces = haar.DetectMultiScale(grayFrame, 1.1, 3, minSize, Size.Empty); //detect - //CvInvoke.Line(cFrame, px, py, new MCvScalar(0, 0, 255), 2); // draw red if (faces.Length > 0) { foreach (var face in faces) @@ -70,7 +60,7 @@ private void ProcessFrame(object sender, EventArgs e) if (face.Width >= minFaceSize.Value) { faceCount_L.Text = faces.Length.ToString(); - CvInvoke.Rectangle(cFrame, face, new Bgr(Color.Green).MCvScalar, 2); //draw + CvInvoke.Rectangle(cFrame, face, new Bgr(Color.Green).MCvScalar, 2); count_L.Text = count.ToString() + count_LT; side_L.Text = side_LT + faceSide.ToString(); rectEmpty_L.Text = rectEmpty_LT + rectEmpty.ToString(); @@ -85,7 +75,6 @@ private void ProcessFrame(object sender, EventArgs e) if (faceSide == false && face.Location.X < 200) { timer1.Start(); - //CvInvoke.Line(cFrame, px, py, new MCvScalar(0, 255, 0), 4); //draw green line if people passed faceSide = true; count += 1; rectEmpty = 0; @@ -101,17 +90,13 @@ private void ProcessFrame(object sender, EventArgs e) GC.Collect(); //execute pressure releasing } - - private void button1_Click(object sender, EventArgs e) - { - Webcam(); - } - void EN() { optionsToolStripMenuItem.Text = "Options"; - chooseCameraDeviceToolStripMenuItem.Text = "Choose camera device"; languageToolStripMenuItem.Text = "Language"; + deviceToolStripMenuItem.Text = "Device"; + chooseCameraDeviceToolStripMenuItem.Text = "Choose camera device"; + aspectRatioToolStripMenuItem.Text = "Aspect ratio"; count_LT = " people counted"; side_LT = "Face in ROI: "; rectEmpty_LT = "Frames without face in ROI: "; @@ -122,8 +107,10 @@ void EN() void SK() { optionsToolStripMenuItem.Text = "Možnosti"; - chooseCameraDeviceToolStripMenuItem.Text = "Zvoliť zaznamenávacie zariadenie"; languageToolStripMenuItem.Text = "Jazyk"; + deviceToolStripMenuItem.Text = "Zariadenie"; + chooseCameraDeviceToolStripMenuItem.Text = "Zvoliť zaznamenávacie zariadenie"; + aspectRatioToolStripMenuItem.Text = "Pomer strán"; count_LT = " započítaných ľudí"; side_LT = "Tvár v ROI: "; rectEmpty_LT = "Počet snímkov bez tváre v ROI: "; @@ -135,11 +122,26 @@ void Webcam() { if (camera != null) camera.Dispose(); camera = new VideoCapture(cameraIndex); + adaptPictureBox(); camera.QueryFrame(); //necessarry camera.Start(); //necessarry Application.Idle += ProcessFrame; //pass it to ProcessFrame void } + void adaptPictureBox() + { + pictureBox1.Height = camera.Height; + pictureBox1.Width = camera.Width; + button1.Location = new Point(pictureBox1.Location.X + pictureBox1.Width + 6, pictureBox1.Location.Y); + count_L.Location = new Point(button1.Location.X, button1.Location.Y + button1.Size.Height + 3); + side_L.Location = new Point(count_L.Location.X, count_L.Location.Y + count_L.Height + 3); + rectEmpty_L.Location = new Point(side_L.Location.X, side_L.Location.Y + side_L.Height + 3); + minFaceSize_L.Location = new Point(rectEmpty_L.Location.X, rectEmpty_L.Location.Y + rectEmpty_L.Height + 60); + minFaceSize.Location = new Point(minFaceSize_L.Location.X, minFaceSize_L.Location.Y + minFaceSize_L.Height + 3); + minFaceSize.Maximum = pictureBox1.Height; + this.Size = new Size(button1.Location.X + button1.Width + 120, pictureBox1.Location.Y + pictureBox1.Height + 50); + } + void drawLine() { if (timer1.Enabled == false) @@ -149,20 +151,22 @@ void drawLine() else CvInvoke.Line(cFrame, px, py, new MCvScalar(0, 255, 0), 2); } - private void timer1_Tick(object sender, EventArgs e) - { - timer1.Stop(); - } - private void Form1_Load(object sender, EventArgs e) { - p1x = 200 ; - p1y = 0 ; - p2x = 200 ; + p1x = 200; + p1y = 0; + p2x = 200; p2y = pictureBox1.Height; timer1.Interval = 100; // 0,1 second timer1.Enabled = true; - minFaceSize.Maximum = pictureBox1.Height; + if (currentLanguage.ToString() == "sk-SK") + { + SK(); + } + else + { + EN(); + } DataCollector = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo Data in DataCollector) { @@ -170,6 +174,16 @@ private void Form1_Load(object sender, EventArgs e) } } + private void button1_Click(object sender, EventArgs e) + { + Webcam(); + } + + private void timer1_Tick(object sender, EventArgs e) + { + timer1.Stop(); + } + private void trackBar1_Scroll(object sender, EventArgs e) { minFaceSize_L.Text = minFaceSize_LT + minFaceSize.Value.ToString() + " px"; @@ -177,13 +191,13 @@ private void trackBar1_Scroll(object sender, EventArgs e) private void englishToolStripMenuItem_Click(object sender, EventArgs e) { - EN(); // write this selection down to app preferences to keep it saved even after app closes + EN(); trackBar1_Scroll(sender, e); } private void slovakToolStripMenuItem_Click(object sender, EventArgs e) { - SK(); // write this selection down to app preferences to keep it saved even after app closes + SK(); trackBar1_Scroll(sender, e); } diff --git a/bakalarka_final/bin/Debug/bakalarka_final.exe b/bakalarka_final/bin/Debug/bakalarka_final.exe index b844fc85301ecc7ed5a3b61844016c2beb675338..c6742a6dbbf26b034712f9cdff268d60ccc4f47b 100644 GIT binary patch delta 7957 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 R$(61({U7(0&G=9M{{gJr?X&;@ delta 7079 zcmb7IeRNdSwcqF5J9qBfnF*N*OhN!NBm$QtAW#W}uM&iY52dCE%9ntE5I`=>fDp%U zCl77my{e5@Y_YXnk(NG|u2pEnB}rmO!R&(W+bjc_l`;;0X#-z+`NEji|`smwKrRqnJ)vzP|RB| zTijxdlav`rq-TKY>48L6YY?2wL_nQ#$f=*hf;|YFWz>dA+6GUfnh@B4VylTt#u)Sr z?BIWlO~#dt{%mtF+f1-5GbIWh;KLh$mnuL5?cc3gM*R{PAemu6W^~YmGX(R8W3DeD z%o>?NT)I<%fgGCzTjmU9PY6j*!-Ex;8Rmn76LzKdeQmH?1<<)3Bw{|C=+>g4`k%oX zky)ZAN&*vq2qC7&0tcWXN(_n{_An^R49x1zaIoEaqFa;%W5N2ZJW*y~5n+zxan6)8 z0t7Gu)6IvQOU$@w+r7B!#}hMbOt8{OnpF~thwK_KW!EL_T0Ais>C)x>Ca9V#Geyjf z!eEbiBm`djDZLO6j>cet#&t>q+Y3t;Yj6~0c`8`j4S-6*@vuF{JEqSa-X{W2p2G6F z^%{{ViN>O})d)*1a;!HpFxzeF{`6BIya)c0Y;0GJb0a3A9(C-~1{LN zHD!>h6GE_{E3AQ4sb;eGQfR1GVMRw43{+3*+2$ENCI^j? z^fF9p-YjdRn*`j-XVvc2|DvYotr_1lWRD)fEo4HdvRksPMV0AwL#OF4~*VH0tAvT zX%~(C38DLNK6Dz3Cz6VmltJ`}%ik4_QJrWjPU>u=EDb&GtL#jj;p(|P%}r{$9ahCV zl`(_aKI}g3bzHM5T-~{qEi{3&@`fU)5@Zku9J~GNaD}U4#dP~?9CS5C1H?yNePkM~ z+G<4$)@2%v-fC4REWMCfE@YWr#H?x%KC3!`&#EKuv)q1U`gYb;o8hBLA{X!-3|A_R z#mw>vlxfBCI&v%*eU3#wdRTN3uqucuW@UzhO)p_P+#hn=z7#SNu9BSN*`c${RRi`i zf1FoW5vgcUF9-)mf+sPUieodJJNtm-I*G=DV@+wiM=WPW-%!F?nJ=vJ1fF_5E3bw4J*CuH-8U+`4b+%_9Gx{j&YM)~tnCvx9G5DV z7Oa-FQj_w+VW6U_B3cj*gJnJ8s3~)KiYio@;Tq`m#Dc%@^#zU?Pu=0>d1B;qo){e1 z<4MiAJI@oBSg$7*d{5g8JTacymgk6poFlhy?-(ub@ucQ_GtU!OaIYs8l2363JjoS+ z1Xw-Q!b7Pi@|-d7xm7VZhQ3R81_n&*t`H2EOgzl3vGU|$VgM6b-t7eEZk01?{?PvIF4rDa#=_|!r{F8*>HF$^{c$) zGEfoCm5bYRE*Krs6M&j?HE+3<7-ZL zBLR&3a9xkaVxVGb zMStJhramz5@__plTT4yPo5w)%Bq7j5!BnOAyS!@#1K1i|D~$9#Fz;;keQ;Qx37H$B z3YptsZ^(E*!S|j#-#qn;d^4VZqsg$r)bYHT3?z4dK5C`-M^?;TRv19k5mitwhwb=b zb7-mVJd+H3kx8XEI?!j50hq+wIai}Oi&emTk0cApw-3!V-9vdVO>op3{6)It6 zJxFRMHo?AA1*iC2f5%=}JxQ^5sA2!x&rY9LE6DL|F5$HJ1IqS&G?G`Fuzk?JkH@Mv zkey*BVc*Y>w1fk@)tfe;+zs$$X%{Xo_&z4^eXo*Iw<54}z@@zl+76dlItvmGW?9eI zj?|C|2{#%+=x_W55q5C%(XARXsw+umS*Y$A532Fn-f?NSaVRC#i_)bW%|Aif1|u?C z>wP$&dg@Fhp$h&Fv*N>wpQZS6eLLnptubv;$V&aM0RxxTuAoI1gB{@_8mgV5BKj!I zbP}C%@zAX|Wf8T9P9eNgfhxlwE%d0Fp#L_{MdFl+R2k*;m(XdHL@3%3w&-sr(^m|p zOF~SiD0&tSEV=~Vpv~c~V4N09wl>OoJ)EF^p>q*~l9EGN5@wxNtt;r3(=qLrA%o6g z#Rh##=Roh0b)g)`}I!jjmu3)kIHW(~8t;xfQ{~P`g-k(9;vlOaJKtH#k_%@?eyFiZHhg0UtyTopcv@=UI4 zSJ4*~J)r1CHTNS$OQSAN9;8h4kM0G3yP}uXa98*tAU3sw7STS?2WUU&YDK@P=uSm9 zDEegJNsK0_15_yFRPZ49#fr8n`fWuID>{^(c4dtEn}`T%1g8iqF)k2OOI)5MU3*g<)nl-Df`hTCH)(% z)COSZf0!FviV}@e?HIPwPUFmoE8^6s#NBGWak@=Op4l2YE#vgPoODf&#l+5>6wuCM z?6{I1H%CQ&DNE=rCHYw^p?8$jUUrKW5%~QLdAt{|SxFbrGV^)-uJXkL|9^ZS8m*wM zfe&>6KFXt zR{SbOTR@Z85FXvH=rPb5I!V7r#`Y@Y2xu{Mij6wjE1IK|=nbXQPCEkbGEBQ5*3f=2 z&e#E39N9q;Iv?0ghs5=kN5`lo+CfLCpZpOGRXW#bd4M(lJyJ|31sgprZ1X4`g3%X1 z*N0xl+{NgLd&TAOZ|DQ1GgPcL&%^OK+Cee#4b(w|9*SIW>53Q`xi5d-KNT?^tk%6(#|I1Ov9!flrI)&pXsa3cRKw#rAs4~wy4o2;W2 z`7u2P{6u8Fs23arujU7$K@1BX6fN@oz%yd6s_r%fVPFAFKT!0FqSq7^YMVle#y~s8 zURj0J?-%=+x?+oYOzan}vKY`~ffq#={T;vjb6N9Yk?$G*!7Y2#*>X1NtRJCo6iB!sk&P z@C6E4s_1H(4`d_l1WnU}+8ky20PUtH<^*ms* zd{;?@SO@M=tQWw)x7E*dGv!WYNQeL4&n>vEu)r@)v?=vjB+ucC&S#x;1$`{vU^)7m z|6$9o;>!3up3GkWKb5x9TKuiUUz$o8-n8njwVS*@B+q%rhuWp9)~s1EGv#cV>Fn4% zXWQC)ZraqmdgIzPUcG&NXRvaq?rj|Yubo3iGzjlrdtT>z_D8~7Ry(lsZ1sHU*`xmG z4H~`E+c)~v@^BivGYWe)k3_$((iYl=ZsyQtN_%^5s4b4&OsgQQqwRREqqW|d8-C%v zJZ45DJQu)y)PmXM4IX=@^Xk|-;U#XI?Nxv2xc8kK?_Sf<3=~(t%Q!`@A z`y~TIV%c_pQ8TtYwj9}xWiJ>>A@B$!A$$-c1CuU63xXNTUh&S3pWs<_)2iV_8c9t= zqtQ48l~Qx8Ij3cYgIYYhFP_~W&pzq3*EP5Sw%V-da`q5!8y3W4NW3lNi%q%Y>sNW_MXFhrD6YM=IjIc9ASMi(c)jF?ea%FL}qwUTOgXYY5@t%8|wIe$o T^`=jL-8(#aVrS8mKL`E~Kl5vo diff --git a/bakalarka_final/bin/Debug/bakalarka_final.pdb b/bakalarka_final/bin/Debug/bakalarka_final.pdb index c8a40d1881e3ee3b25c63c17157bc046ebffc09a..5cd63303dabe0099ee570619262604ce3fb92b4d 100644 GIT binary patch delta 6916 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 N-k0+etGhb;KLH(vxSs$3 delta 6438 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 R$(61({U7(0&G=9M{{gJr?X&;@ delta 7079 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 T^`=jL-8(#aVrS8mKL`E~Kl5vo diff --git a/bakalarka_final/obj/Debug/bakalarka_final.pdb b/bakalarka_final/obj/Debug/bakalarka_final.pdb index c8a40d1881e3ee3b25c63c17157bc046ebffc09a..5cd63303dabe0099ee570619262604ce3fb92b4d 100644 GIT binary patch delta 6916 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 N-k0+etGhb;KLH(vxSs$3 delta 6438 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