No Description

class_main_window.tex 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. \hypertarget{class_main_window}{}\section{Main\+Window Class Reference}
  2. \label{class_main_window}\index{Main\+Window@{Main\+Window}}
  3. Inheritance diagram for Main\+Window\+:\begin{figure}[H]
  4. \begin{center}
  5. \leavevmode
  6. \includegraphics[height=2.000000cm]{class_main_window}
  7. \end{center}
  8. \end{figure}
  9. \subsection*{Public Member Functions}
  10. \begin{DoxyCompactItemize}
  11. \item
  12. \hyperlink{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}{Main\+Window} (Q\+Widget $\ast$parent=0)
  13. \begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
  14. void \hyperlink{class_main_window_a92d8983ccdda1d49d2d9c6302e7aab52}{Gray\+Scale} (Q\+Image \&)
  15. \begin{DoxyCompactList}\small\item\em Function that applies a greyscale filter in the edited image. It works by turning each pixel into the color grey. \end{DoxyCompactList}\item
  16. void \hyperlink{class_main_window_a3d4e0cc1efd8a430d0a07901a9da96ae}{Vertical\+Flip} (Q\+Image \&)
  17. \begin{DoxyCompactList}\small\item\em Function that applies a vertical flip to the edited image. It works by putting the pixel from the original image in the heigth-\/1-\/j position of the edited image. \end{DoxyCompactList}\item
  18. void \hyperlink{class_main_window_a6827de64beb6250700e8bafc005379c4}{Horizontal\+Flip} (Q\+Image \&)
  19. \begin{DoxyCompactList}\small\item\em Function that applies a horizontal flip to the edited image. It works by putting the pixel from the original image in the width-\/1-\/i position of the edited image. \end{DoxyCompactList}\item
  20. void \hyperlink{class_main_window_a4fc39fdbaf9fb6a3f551eea7c4e3c9ae}{Threshold\+Filter} (Q\+Image \&, Q\+Image \&, unsigned int, bool)
  21. \begin{DoxyCompactList}\small\item\em Function that applies a theshold filter to the edited image. It works by creating a black and white image where the color of the new pixel is white or black depending on a threshold value and the average of the colors of the pixel of the original image. \end{DoxyCompactList}\item
  22. \hypertarget{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}{}{\bfseries Main\+Window} (Q\+Widget $\ast$parent=0)\label{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}
  23. \item
  24. \hypertarget{class_main_window_a92d8983ccdda1d49d2d9c6302e7aab52}{}void {\bfseries Gray\+Scale} (Q\+Image \&)\label{class_main_window_a92d8983ccdda1d49d2d9c6302e7aab52}
  25. \item
  26. \hypertarget{class_main_window_a3d4e0cc1efd8a430d0a07901a9da96ae}{}void {\bfseries Vertical\+Flip} (Q\+Image \&)\label{class_main_window_a3d4e0cc1efd8a430d0a07901a9da96ae}
  27. \item
  28. \hypertarget{class_main_window_a6827de64beb6250700e8bafc005379c4}{}void {\bfseries Horizontal\+Flip} (Q\+Image \&)\label{class_main_window_a6827de64beb6250700e8bafc005379c4}
  29. \item
  30. \hypertarget{class_main_window_a4fc39fdbaf9fb6a3f551eea7c4e3c9ae}{}void {\bfseries Threshold\+Filter} (Q\+Image \&, Q\+Image \&, unsigned int, bool)\label{class_main_window_a4fc39fdbaf9fb6a3f551eea7c4e3c9ae}
  31. \end{DoxyCompactItemize}
  32. \subsection*{Private Slots}
  33. \begin{DoxyCompactItemize}
  34. \item
  35. void \hyperlink{class_main_window_a4ff08d0fe0eca41750440ca1f4d9c768}{on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered} ()
  36. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_a097fcba797448372b19307a32ced737d}{on\+\_\+btn\+Load\+Image\+\_\+clicked()} \end{DoxyCompactList}\item
  37. \hypertarget{class_main_window_a9064a0047e3e77e6d48ebb59bd711da4}{}void \hyperlink{class_main_window_a9064a0047e3e77e6d48ebb59bd711da4}{on\+\_\+action\+Save\+\_\+\+Image\+\_\+triggered} ()\label{class_main_window_a9064a0047e3e77e6d48ebb59bd711da4}
  38. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_ad495b5030e61fb55b8ab95c5a3a559d6}{on\+\_\+btn\+Save\+Image\+\_\+clicked()} \end{DoxyCompactList}\item
  39. \hypertarget{class_main_window_addb3dd1ec7fe84f4d8a7b63bc7431b5a}{}void {\bfseries on\+\_\+action\+Close\+\_\+\+Window\+\_\+triggered} ()\label{class_main_window_addb3dd1ec7fe84f4d8a7b63bc7431b5a}
  40. \item
  41. \hypertarget{class_main_window_aab8ca019ab84ef9c21ed9301abca6636}{}void \hyperlink{class_main_window_aab8ca019ab84ef9c21ed9301abca6636}{on\+\_\+action\+Invert\+\_\+\+Threshold\+\_\+\+Colors\+\_\+triggered} ()\label{class_main_window_aab8ca019ab84ef9c21ed9301abca6636}
  42. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_a803c210fefa9d0416f1b1c6c9769aa40}{on\+\_\+btn\+Invert\+Threshold\+\_\+clicked()} \end{DoxyCompactList}\item
  43. \hypertarget{class_main_window_a78d8ae530c062adf68cd5d5d05d13320}{}void \hyperlink{class_main_window_a78d8ae530c062adf68cd5d5d05d13320}{on\+\_\+action\+Flip\+\_\+\+Image\+\_\+\+Horizontally\+\_\+triggered} ()\label{class_main_window_a78d8ae530c062adf68cd5d5d05d13320}
  44. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_ad5d0ca46a9061f5a22f84494de29f8d9}{on\+\_\+btn\+Flip\+Image\+Horizontally\+\_\+clicked()} \end{DoxyCompactList}\item
  45. \hypertarget{class_main_window_aee732b0d048591cff1432aa7992ae474}{}void \hyperlink{class_main_window_aee732b0d048591cff1432aa7992ae474}{on\+\_\+action\+Flip\+\_\+\+Image\+\_\+\+Vertically\+\_\+triggered} ()\label{class_main_window_aee732b0d048591cff1432aa7992ae474}
  46. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_aeb76bf75157cc088511193f8190d0d95}{on\+\_\+btn\+Flip\+Image\+Vertically\+\_\+clicked()} \end{DoxyCompactList}\item
  47. \hypertarget{class_main_window_a86de73fc655de25fc6bed09f8ee304a0}{}void \hyperlink{class_main_window_a86de73fc655de25fc6bed09f8ee304a0}{on\+\_\+action\+Apply\+\_\+\+Grey\+\_\+\+Scale\+\_\+\+Filter\+\_\+triggered} ()\label{class_main_window_a86de73fc655de25fc6bed09f8ee304a0}
  48. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_aadc6d08a96c6003b94d29b254de97838}{on\+\_\+btn\+Grey\+Scale\+Filter\+\_\+clicked()} \end{DoxyCompactList}\item
  49. \hypertarget{class_main_window_a579dbaf9e4684318a252f7bc471e2db8}{}void \hyperlink{class_main_window_a579dbaf9e4684318a252f7bc471e2db8}{on\+\_\+action\+Revert\+\_\+\+Edited\+\_\+\+Image\+\_\+to\+\_\+\+Original\+\_\+triggered} ()\label{class_main_window_a579dbaf9e4684318a252f7bc471e2db8}
  50. \begin{DoxyCompactList}\small\item\em Invokes function \hyperlink{class_main_window_a4a615fae77ffcbb3ff634215be270590}{on\+\_\+btn\+Revert\+Image\+\_\+clicked()} \end{DoxyCompactList}\item
  51. \hypertarget{class_main_window_a7a83ec2aee41b85977c9a832de61346b}{}void \hyperlink{class_main_window_a7a83ec2aee41b85977c9a832de61346b}{on\+\_\+action\+Instructions\+\_\+triggered} ()\label{class_main_window_a7a83ec2aee41b85977c9a832de61346b}
  52. \begin{DoxyCompactList}\small\item\em To display the instructions. \end{DoxyCompactList}\item
  53. \hypertarget{class_main_window_ab39da572361126e8b2b47b55dd8a9f51}{}void \hyperlink{class_main_window_ab39da572361126e8b2b47b55dd8a9f51}{apply\+Threshold\+Filter} ()\label{class_main_window_ab39da572361126e8b2b47b55dd8a9f51}
  54. \begin{DoxyCompactList}\small\item\em To apply the threshold filter. \end{DoxyCompactList}\item
  55. \hypertarget{class_main_window_aeeabb8c67fc108c9df2b0da0d9674181}{}void \hyperlink{class_main_window_aeeabb8c67fc108c9df2b0da0d9674181}{instructions} ()\label{class_main_window_aeeabb8c67fc108c9df2b0da0d9674181}
  56. \begin{DoxyCompactList}\small\item\em To display the instructions. \end{DoxyCompactList}\item
  57. \hypertarget{class_main_window_aa2b30fce1731a2ba1818f60ee9dc45a4}{}void \hyperlink{class_main_window_aa2b30fce1731a2ba1818f60ee9dc45a4}{on\+\_\+threshold\+Slider\+\_\+slider\+Released} ()\label{class_main_window_aa2b30fce1731a2ba1818f60ee9dc45a4}
  58. \begin{DoxyCompactList}\small\item\em To apply the threshold filter and load the edited image to the G\+U\+I when the G\+U\+I slider is moved. \end{DoxyCompactList}\item
  59. \hypertarget{class_main_window_a097fcba797448372b19307a32ced737d}{}void \hyperlink{class_main_window_a097fcba797448372b19307a32ced737d}{on\+\_\+btn\+Load\+Image\+\_\+clicked} ()\label{class_main_window_a097fcba797448372b19307a32ced737d}
  60. \begin{DoxyCompactList}\small\item\em To load an image to the G\+U\+I when the load image option is selected. \end{DoxyCompactList}\item
  61. \hypertarget{class_main_window_ad495b5030e61fb55b8ab95c5a3a559d6}{}void \hyperlink{class_main_window_ad495b5030e61fb55b8ab95c5a3a559d6}{on\+\_\+btn\+Save\+Image\+\_\+clicked} ()\label{class_main_window_ad495b5030e61fb55b8ab95c5a3a559d6}
  62. \begin{DoxyCompactList}\small\item\em To save an image to the file system when the save image option is selected. \end{DoxyCompactList}\item
  63. \hypertarget{class_main_window_a9936e00b191c04ab938897cf13690dbe}{}void \hyperlink{class_main_window_a9936e00b191c04ab938897cf13690dbe}{on\+\_\+chbox\+Threshold\+\_\+clicked} ()\label{class_main_window_a9936e00b191c04ab938897cf13690dbe}
  64. \begin{DoxyCompactList}\small\item\em To apply the threshold filter and load the edited image to the G\+U\+I. \end{DoxyCompactList}\item
  65. \hypertarget{class_main_window_a803c210fefa9d0416f1b1c6c9769aa40}{}void \hyperlink{class_main_window_a803c210fefa9d0416f1b1c6c9769aa40}{on\+\_\+btn\+Invert\+Threshold\+\_\+clicked} ()\label{class_main_window_a803c210fefa9d0416f1b1c6c9769aa40}
  66. \begin{DoxyCompactList}\small\item\em To apply the threshold filter and load the edited image to the G\+U\+I when the threshold color is inverted. \end{DoxyCompactList}\item
  67. \hypertarget{class_main_window_ad5d0ca46a9061f5a22f84494de29f8d9}{}void \hyperlink{class_main_window_ad5d0ca46a9061f5a22f84494de29f8d9}{on\+\_\+btn\+Flip\+Image\+Horizontally\+\_\+clicked} ()\label{class_main_window_ad5d0ca46a9061f5a22f84494de29f8d9}
  68. \begin{DoxyCompactList}\small\item\em To call the horizontal flip image filter. \end{DoxyCompactList}\item
  69. \hypertarget{class_main_window_aeb76bf75157cc088511193f8190d0d95}{}void \hyperlink{class_main_window_aeb76bf75157cc088511193f8190d0d95}{on\+\_\+btn\+Flip\+Image\+Vertically\+\_\+clicked} ()\label{class_main_window_aeb76bf75157cc088511193f8190d0d95}
  70. \begin{DoxyCompactList}\small\item\em To call the vertical flip image filter. \end{DoxyCompactList}\item
  71. \hypertarget{class_main_window_aadc6d08a96c6003b94d29b254de97838}{}void \hyperlink{class_main_window_aadc6d08a96c6003b94d29b254de97838}{on\+\_\+btn\+Grey\+Scale\+Filter\+\_\+clicked} ()\label{class_main_window_aadc6d08a96c6003b94d29b254de97838}
  72. \begin{DoxyCompactList}\small\item\em To call the Gray Scale image filter. \end{DoxyCompactList}\item
  73. \hypertarget{class_main_window_a4a615fae77ffcbb3ff634215be270590}{}void \hyperlink{class_main_window_a4a615fae77ffcbb3ff634215be270590}{on\+\_\+btn\+Revert\+Image\+\_\+clicked} ()\label{class_main_window_a4a615fae77ffcbb3ff634215be270590}
  74. \begin{DoxyCompactList}\small\item\em To reset the edited image to the original image. \end{DoxyCompactList}\item
  75. \hypertarget{class_main_window_a4ff08d0fe0eca41750440ca1f4d9c768}{}void {\bfseries on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered} ()\label{class_main_window_a4ff08d0fe0eca41750440ca1f4d9c768}
  76. \item
  77. \hypertarget{class_main_window_a9064a0047e3e77e6d48ebb59bd711da4}{}void {\bfseries on\+\_\+action\+Save\+\_\+\+Image\+\_\+triggered} ()\label{class_main_window_a9064a0047e3e77e6d48ebb59bd711da4}
  78. \item
  79. \hypertarget{class_main_window_addb3dd1ec7fe84f4d8a7b63bc7431b5a}{}void {\bfseries on\+\_\+action\+Close\+\_\+\+Window\+\_\+triggered} ()\label{class_main_window_addb3dd1ec7fe84f4d8a7b63bc7431b5a}
  80. \item
  81. \hypertarget{class_main_window_aab8ca019ab84ef9c21ed9301abca6636}{}void {\bfseries on\+\_\+action\+Invert\+\_\+\+Threshold\+\_\+\+Colors\+\_\+triggered} ()\label{class_main_window_aab8ca019ab84ef9c21ed9301abca6636}
  82. \item
  83. \hypertarget{class_main_window_a78d8ae530c062adf68cd5d5d05d13320}{}void {\bfseries on\+\_\+action\+Flip\+\_\+\+Image\+\_\+\+Horizontally\+\_\+triggered} ()\label{class_main_window_a78d8ae530c062adf68cd5d5d05d13320}
  84. \item
  85. \hypertarget{class_main_window_aee732b0d048591cff1432aa7992ae474}{}void {\bfseries on\+\_\+action\+Flip\+\_\+\+Image\+\_\+\+Vertically\+\_\+triggered} ()\label{class_main_window_aee732b0d048591cff1432aa7992ae474}
  86. \item
  87. \hypertarget{class_main_window_a86de73fc655de25fc6bed09f8ee304a0}{}void {\bfseries on\+\_\+action\+Apply\+\_\+\+Grey\+\_\+\+Scale\+\_\+\+Filter\+\_\+triggered} ()\label{class_main_window_a86de73fc655de25fc6bed09f8ee304a0}
  88. \item
  89. \hypertarget{class_main_window_a579dbaf9e4684318a252f7bc471e2db8}{}void {\bfseries on\+\_\+action\+Revert\+\_\+\+Edited\+\_\+\+Image\+\_\+to\+\_\+\+Original\+\_\+triggered} ()\label{class_main_window_a579dbaf9e4684318a252f7bc471e2db8}
  90. \item
  91. \hypertarget{class_main_window_a7a83ec2aee41b85977c9a832de61346b}{}void {\bfseries on\+\_\+action\+Instructions\+\_\+triggered} ()\label{class_main_window_a7a83ec2aee41b85977c9a832de61346b}
  92. \item
  93. \hypertarget{class_main_window_ab39da572361126e8b2b47b55dd8a9f51}{}void {\bfseries apply\+Threshold\+Filter} ()\label{class_main_window_ab39da572361126e8b2b47b55dd8a9f51}
  94. \item
  95. \hypertarget{class_main_window_aeeabb8c67fc108c9df2b0da0d9674181}{}void {\bfseries instructions} ()\label{class_main_window_aeeabb8c67fc108c9df2b0da0d9674181}
  96. \item
  97. \hypertarget{class_main_window_aa2b30fce1731a2ba1818f60ee9dc45a4}{}void {\bfseries on\+\_\+threshold\+Slider\+\_\+slider\+Released} ()\label{class_main_window_aa2b30fce1731a2ba1818f60ee9dc45a4}
  98. \item
  99. \hypertarget{class_main_window_a097fcba797448372b19307a32ced737d}{}void {\bfseries on\+\_\+btn\+Load\+Image\+\_\+clicked} ()\label{class_main_window_a097fcba797448372b19307a32ced737d}
  100. \item
  101. \hypertarget{class_main_window_ad495b5030e61fb55b8ab95c5a3a559d6}{}void {\bfseries on\+\_\+btn\+Save\+Image\+\_\+clicked} ()\label{class_main_window_ad495b5030e61fb55b8ab95c5a3a559d6}
  102. \item
  103. \hypertarget{class_main_window_a9936e00b191c04ab938897cf13690dbe}{}void {\bfseries on\+\_\+chbox\+Threshold\+\_\+clicked} ()\label{class_main_window_a9936e00b191c04ab938897cf13690dbe}
  104. \item
  105. \hypertarget{class_main_window_a803c210fefa9d0416f1b1c6c9769aa40}{}void {\bfseries on\+\_\+btn\+Invert\+Threshold\+\_\+clicked} ()\label{class_main_window_a803c210fefa9d0416f1b1c6c9769aa40}
  106. \item
  107. \hypertarget{class_main_window_ad5d0ca46a9061f5a22f84494de29f8d9}{}void {\bfseries on\+\_\+btn\+Flip\+Image\+Horizontally\+\_\+clicked} ()\label{class_main_window_ad5d0ca46a9061f5a22f84494de29f8d9}
  108. \item
  109. \hypertarget{class_main_window_aeb76bf75157cc088511193f8190d0d95}{}void {\bfseries on\+\_\+btn\+Flip\+Image\+Vertically\+\_\+clicked} ()\label{class_main_window_aeb76bf75157cc088511193f8190d0d95}
  110. \item
  111. \hypertarget{class_main_window_aadc6d08a96c6003b94d29b254de97838}{}void {\bfseries on\+\_\+btn\+Grey\+Scale\+Filter\+\_\+clicked} ()\label{class_main_window_aadc6d08a96c6003b94d29b254de97838}
  112. \item
  113. \hypertarget{class_main_window_a4a615fae77ffcbb3ff634215be270590}{}void {\bfseries on\+\_\+btn\+Revert\+Image\+\_\+clicked} ()\label{class_main_window_a4a615fae77ffcbb3ff634215be270590}
  114. \end{DoxyCompactItemize}
  115. \subsection*{Private Attributes}
  116. \begin{DoxyCompactItemize}
  117. \item
  118. \hypertarget{class_main_window_a43606649aeaf9e561328935fca0cd1bf}{}Ui\+::\+Main\+Window $\ast$ {\bfseries ui}\label{class_main_window_a43606649aeaf9e561328935fca0cd1bf}
  119. \item
  120. \hypertarget{class_main_window_a4e3a604a9d31eae583a1935b5694af3b}{}Q\+Image {\bfseries original\+Image}\label{class_main_window_a4e3a604a9d31eae583a1935b5694af3b}
  121. \item
  122. \hypertarget{class_main_window_a958e3bd8b0adbd5675083198a25d35ab}{}Q\+Image {\bfseries edited\+Image}\label{class_main_window_a958e3bd8b0adbd5675083198a25d35ab}
  123. \item
  124. \hypertarget{class_main_window_a81fc322ea9d4bf48c690011789e7badf}{}bool {\bfseries invert\+Color}\label{class_main_window_a81fc322ea9d4bf48c690011789e7badf}
  125. \end{DoxyCompactItemize}
  126. \subsection{Constructor \& Destructor Documentation}
  127. \hypertarget{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}{}\index{Main\+Window@{Main\+Window}!Main\+Window@{Main\+Window}}
  128. \index{Main\+Window@{Main\+Window}!Main\+Window@{Main\+Window}}
  129. \subsubsection[{Main\+Window}]{\setlength{\rightskip}{0pt plus 5cm}Main\+Window\+::\+Main\+Window (
  130. \begin{DoxyParamCaption}
  131. \item[{Q\+Widget $\ast$}]{parent = {\ttfamily 0}}
  132. \end{DoxyParamCaption}
  133. )\hspace{0.3cm}{\ttfamily [explicit]}}\label{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}
  134. Constructor.
  135. Destructor. K\+E\+Y\+B\+O\+A\+R\+D S\+H\+O\+R\+T\+C\+U\+T\+S Loads a image with cmd + o Carga una imagen con cmd + o
  136. Saves a image with cmd + s Guarda una imagen con cmd + s
  137. Closes window with cmd + w Cierra la ventana con cmd + w
  138. Inverts threshold color with cmd + t Invierte el color umbral con cmd + t
  139. Flips horizontally a image with cmd + f Rota horizontalmente una imagen con cmd + f
  140. Flips vertically a image with cmd + v Rota verticalmente una imagen con cmd + v
  141. Applies greyscale filter to a image with cmd + g Aplica el filtro de tonos grises a una imagen con cmd + g
  142. Resets an edited image to the orignal one to a image with cmd + r Devuelve la imagen editada a su estado original con cmd + r
  143. Display the instructions with cmd + i Despliega las instrucciones con cmd + i
  144. \subsection{Member Function Documentation}
  145. \hypertarget{class_main_window_a92d8983ccdda1d49d2d9c6302e7aab52}{}\index{Main\+Window@{Main\+Window}!Gray\+Scale@{Gray\+Scale}}
  146. \index{Gray\+Scale@{Gray\+Scale}!Main\+Window@{Main\+Window}}
  147. \subsubsection[{Gray\+Scale}]{\setlength{\rightskip}{0pt plus 5cm}void Main\+Window\+::\+Gray\+Scale (
  148. \begin{DoxyParamCaption}
  149. \item[{Q\+Image \&}]{edited\+Image}
  150. \end{DoxyParamCaption}
  151. )}\label{class_main_window_a92d8983ccdda1d49d2d9c6302e7aab52}
  152. Function that applies a greyscale filter in the edited image. It works by turning each pixel into the color grey.
  153. Function that applies a greyscale filter to the edited image. It works by turning each pixel into the color grey. For this we use two for loops to access the pixels of the edited image.
  154. \begin{DoxyParams}{Parameters}
  155. {\em original\+Image} & Reference to the original image (no filter) \\
  156. \hline
  157. {\em edited\+Image} & Reference to the destination image with the filter applied. \\
  158. \hline
  159. \end{DoxyParams}
  160. \hypertarget{class_main_window_a6827de64beb6250700e8bafc005379c4}{}\index{Main\+Window@{Main\+Window}!Horizontal\+Flip@{Horizontal\+Flip}}
  161. \index{Horizontal\+Flip@{Horizontal\+Flip}!Main\+Window@{Main\+Window}}
  162. \subsubsection[{Horizontal\+Flip}]{\setlength{\rightskip}{0pt plus 5cm}void Main\+Window\+::\+Horizontal\+Flip (
  163. \begin{DoxyParamCaption}
  164. \item[{Q\+Image \&}]{edited\+Image}
  165. \end{DoxyParamCaption}
  166. )}\label{class_main_window_a6827de64beb6250700e8bafc005379c4}
  167. Function that applies a horizontal flip to the edited image. It works by putting the pixel from the original image in the width-\/1-\/i position of the edited image.
  168. Function that applies a horizontal flip to the edited image For this we use two for loops to access the pixels of the images. In the first loop we go through the x axis and in the second we go through the y axis and inside of it we put the pixel from the original image in the width-\/1-\/i position of the edited image.
  169. \begin{DoxyParams}{Parameters}
  170. {\em original\+Image} & Reference to the original image (no filter) \\
  171. \hline
  172. {\em edited\+Image} & Reference to the destination image with the filter applied. \\
  173. \hline
  174. \end{DoxyParams}
  175. \hypertarget{class_main_window_a4ff08d0fe0eca41750440ca1f4d9c768}{}\index{Main\+Window@{Main\+Window}!on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered@{on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered}}
  176. \index{on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered@{on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered}!Main\+Window@{Main\+Window}}
  177. \subsubsection[{on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered}]{\setlength{\rightskip}{0pt plus 5cm}void Main\+Window\+::on\+\_\+action\+Load\+\_\+\+Image\+\_\+triggered (
  178. \begin{DoxyParamCaption}
  179. {}
  180. \end{DoxyParamCaption}
  181. )\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}\label{class_main_window_a4ff08d0fe0eca41750440ca1f4d9c768}
  182. Invokes function \hyperlink{class_main_window_a097fcba797448372b19307a32ced737d}{on\+\_\+btn\+Load\+Image\+\_\+clicked()}
  183. A\+C\+T\+I\+O\+N F\+U\+N\+C\+T\+I\+O\+N\+S \hypertarget{class_main_window_a4fc39fdbaf9fb6a3f551eea7c4e3c9ae}{}\index{Main\+Window@{Main\+Window}!Threshold\+Filter@{Threshold\+Filter}}
  184. \index{Threshold\+Filter@{Threshold\+Filter}!Main\+Window@{Main\+Window}}
  185. \subsubsection[{Threshold\+Filter}]{\setlength{\rightskip}{0pt plus 5cm}void Main\+Window\+::\+Threshold\+Filter (
  186. \begin{DoxyParamCaption}
  187. \item[{Q\+Image \&}]{original\+Image, }
  188. \item[{Q\+Image \&}]{edited\+Image, }
  189. \item[{unsigned int}]{threshold, }
  190. \item[{bool}]{color}
  191. \end{DoxyParamCaption}
  192. )}\label{class_main_window_a4fc39fdbaf9fb6a3f551eea7c4e3c9ae}
  193. Function that applies a theshold filter to the edited image. It works by creating a black and white image where the color of the new pixel is white or black depending on a threshold value and the average of the colors of the pixel of the original image.
  194. \begin{DoxyParams}{Parameters}
  195. {\em original\+Image} & Reference to the original image (no filter) \\
  196. \hline
  197. {\em edited\+Image} & Reference to the destination image with the filter applied. \\
  198. \hline
  199. {\em threshold} & Integer value that serves as a black or white color threshold \\
  200. \hline
  201. {\em color} & boolean value to select which color white or black if the color average is under or over the threshold.\\
  202. \hline
  203. \end{DoxyParams}
  204. Function that applies a threshold filter to the edited image. For this we use two for loops to access the pixels of the images. In the first loop we go through the x axis and in the second we go through the y axis. \hypertarget{class_main_window_a3d4e0cc1efd8a430d0a07901a9da96ae}{}\index{Main\+Window@{Main\+Window}!Vertical\+Flip@{Vertical\+Flip}}
  205. \index{Vertical\+Flip@{Vertical\+Flip}!Main\+Window@{Main\+Window}}
  206. \subsubsection[{Vertical\+Flip}]{\setlength{\rightskip}{0pt plus 5cm}void Main\+Window\+::\+Vertical\+Flip (
  207. \begin{DoxyParamCaption}
  208. \item[{Q\+Image \&}]{edited\+Image}
  209. \end{DoxyParamCaption}
  210. )}\label{class_main_window_a3d4e0cc1efd8a430d0a07901a9da96ae}
  211. Function that applies a vertical flip to the edited image. It works by putting the pixel from the original image in the heigth-\/1-\/j position of the edited image.
  212. Function that applies a vertical flip to the edited image. For this we use two for loops to access the pixels of the images. In the first loop we go through the x axis and in the second we go through the y axis and inside of it we put the pixel from the original image in the heigth-\/1-\/j position of the edited image.
  213. \begin{DoxyParams}{Parameters}
  214. {\em original\+Image} & Reference to the original image (no filter) \\
  215. \hline
  216. {\em edited\+Image} & Reference to the destination image with the filter applied. \\
  217. \hline
  218. \end{DoxyParams}
  219. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
  220. \item
  221. bk/mainwindow.\+h\item
  222. bk/mainwindow.\+cpp\item
  223. filter.\+cpp\end{DoxyCompactItemize}