Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.34 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package przetwarzanieobrazu;
  7.  
  8. import org.opencv.core.Core;
  9. import static org.opencv.core.Core.FILLED;
  10. import static org.opencv.core.Core.ROTATE_90_CLOCKWISE;
  11. import static org.opencv.core.Core.flip;
  12. import org.opencv.core.CvType;
  13. import static org.opencv.core.CvType.CV_8UC4;
  14. import org.opencv.core.Mat;
  15. import org.opencv.core.MatOfPoint2f;
  16. import org.opencv.core.Point;
  17. import org.opencv.core.Rect;
  18. import org.opencv.core.Scalar;
  19. import org.opencv.core.Size;
  20. import org.opencv.highgui.HighGui;
  21. import static org.opencv.highgui.HighGui.WINDOW_AUTOSIZE;
  22. import static org.opencv.highgui.HighGui.destroyAllWindows;
  23. import static org.opencv.highgui.HighGui.imshow;
  24. import static org.opencv.highgui.HighGui.namedWindow;
  25. import static org.opencv.highgui.HighGui.waitKey;
  26. import org.opencv.imgcodecs.Imgcodecs;
  27. import static org.opencv.imgcodecs.Imgcodecs.IMREAD_GRAYSCALE;
  28. import static org.opencv.imgcodecs.Imgcodecs.IMREAD_UNCHANGED;
  29. import static org.opencv.imgcodecs.Imgcodecs.imread;
  30. import org.opencv.imgproc.Imgproc;
  31. import static org.opencv.imgproc.Imgproc.COLOR_RGBA2RGB;
  32. import static org.opencv.imgproc.Imgproc.GC_INIT_WITH_RECT;
  33. import static org.opencv.imgproc.Imgproc.cvtColor;
  34. import static org.opencv.imgproc.Imgproc.grabCut;
  35. import static org.opencv.imgproc.Imgproc.rectangle;
  36. import static org.opencv.imgproc.Imgproc.warpAffine;
  37.  
  38. /**
  39. *
  40. * @author Lukasz Laskowski
  41. */
  42. public class PrzetwarzanieObrazu {
  43.  
  44. static {
  45. System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
  46. }
  47.  
  48. /**
  49. * @param args the command line arguments
  50. */
  51.  
  52. public static void zad1() {
  53.  
  54.  
  55.  
  56.  
  57. Mat src = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  58. System.out.println("img loaded!");
  59. Mat nextImage = new Mat();
  60. Size sizeImage = src.size();
  61. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  62. imshow("Ukasz", src);
  63.  
  64. asd
  65. waitKey(0);
  66. destroyAllWindows();
  67. }
  68.  
  69. public static void zad2() {
  70. Mat image = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  71. System.out.println("img loaded!");
  72. Mat nextImage = new Mat();
  73. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  74. imshow("Ukasz", image);
  75. waitKey(0);
  76. flip(image, nextImage, 0);
  77. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  78. imshow("Ukasz", nextImage);
  79. waitKey(0);
  80. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  81. imshow("Ukasz", image);
  82. waitKey(0);
  83. flip(image, nextImage, +1);
  84. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  85. imshow("Ukasz", nextImage);
  86. waitKey(0);
  87. destroyAllWindows();
  88. }
  89.  
  90. public static void zad3() {
  91. Mat image = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  92. System.out.println("img loaded!");
  93. Mat rotatedImage = new Mat();
  94. Size sizeImage = image.size();
  95.  
  96. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  97. imshow("Ukasz", image);
  98. waitKey(0);
  99.  
  100.  
  101.  
  102. Core.rotate(image, rotatedImage, Core.ROTATE_90_CLOCKWISE);
  103. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  104. imshow("Ukasz", rotatedImage);
  105. waitKey(0);
  106. destroyAllWindows();
  107. }
  108.  
  109. public static void zad4() {
  110. Mat originalImage = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  111. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  112. imshow("Ukasz", originalImage);
  113. waitKey(0);
  114.  
  115. int cropCenterX=300;
  116. int cropCenterY=300;
  117. int cropWidth=500;
  118. int cropHeight=500;
  119. Rect rectCrop = new Rect(cropCenterX, cropCenterY, cropWidth, cropHeight);
  120. Mat croppedImage = new Mat(originalImage, rectCrop);
  121.  
  122. namedWindow("ZmienionyUkasz", WINDOW_AUTOSIZE);
  123. imshow("ZmienionyUkasz", croppedImage);
  124. waitKey(0);
  125.  
  126. namedWindow("ZmienionyUkasz", WINDOW_AUTOSIZE);
  127. imshow("ZmienionyUkasz", originalImage.submat(rectCrop));
  128. waitKey(0);
  129.  
  130. destroyAllWindows();
  131. }
  132.  
  133. public static void zad5() {
  134.  
  135.  
  136. Mat image = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  137. System.out.println("img loaded!");
  138.  
  139. Size sizeImage = image.size();
  140.  
  141. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  142. imshow("Ukasz", image);
  143. waitKey(0);
  144.  
  145. Mat resizeimage = new Mat();
  146. Mat resizeimage1 = new Mat();
  147. Mat resizeimage2 = new Mat();
  148. Mat resizeimage3 = new Mat();
  149. //*********************************************RESIZE
  150. Imgproc.resize(image, resizeimage, new Size(2*sizeImage.height, 2*sizeImage.width));
  151. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  152. imshow("Ukasz", resizeimage);
  153. waitKey(0);
  154.  
  155. Imgproc.resize(image, resizeimage1, new Size(4*sizeImage.height, 4*sizeImage.width));
  156. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  157. imshow("Ukasz", resizeimage1);
  158. waitKey(0);
  159. //*********************************************PYRUP
  160. Imgproc.pyrUp(image, resizeimage2, new Size(2*sizeImage.height, 2*sizeImage.width));
  161. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  162. imshow("Ukasz", resizeimage2);
  163. waitKey(0);
  164.  
  165. // Imgproc.pyrUp(image, resizeimage3, new Size(4*sizeImage.height, 4*sizeImage.width));
  166. // namedWindow("Ukasz", WINDOW_AUTOSIZE);
  167. // imshow("Ukasz", resizeimage3);
  168. // waitKey(0);
  169.  
  170. //************* 4 NIE JEST DZIELNIKIEM 2
  171. destroyAllWindows();
  172. }
  173.  
  174. public static void zad6() {
  175. Mat image = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  176. System.out.println("img loaded!");
  177.  
  178. Size sizeImage = image.size();
  179.  
  180. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  181. imshow("Ukasz", image);
  182. waitKey(0);
  183.  
  184. Mat resizeimage = new Mat();
  185. Mat resizeimage1 = new Mat();
  186. Mat resizeimage2 = new Mat();
  187. Mat resizeimage3 = new Mat();
  188. //*********************************************RESIZE
  189. Imgproc.resize(image, resizeimage, new Size(sizeImage.height/2, sizeImage.width/2));
  190. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  191. imshow("Ukasz", resizeimage);
  192. waitKey(0);
  193.  
  194. Imgproc.resize(image, resizeimage1, new Size(sizeImage.height/4, sizeImage.width/4));
  195. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  196. imshow("Ukasz", resizeimage1);
  197. waitKey(0);
  198. //*********************************************PYRUP
  199. Imgproc.pyrDown(image, resizeimage2, new Size(sizeImage.height/2, sizeImage.width/2));
  200. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  201. imshow("Ukasz", resizeimage2);
  202. waitKey(0);
  203.  
  204. //// Imgproc.pyrDown(image, resizeimage3, new Size(sizeImage.height/4, sizeImage.width/4));
  205. // namedWindow("Ukasz", WINDOW_AUTOSIZE);
  206. //imshow("Ukasz", resizeimage3);
  207. /// waitKey(0);
  208. //************* 4 NIE JEST DZIELNIKIEM 2
  209. destroyAllWindows();
  210. }
  211.  
  212. public static void zad7() {
  213. Mat image = Imgcodecs.imread("img.jpg", IMREAD_UNCHANGED);
  214. System.out.println("img loaded!");
  215.  
  216. Size sizeImage = image.size();
  217.  
  218. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  219. imshow("Ukasz", image);
  220. waitKey(0);
  221.  
  222. Mat resizeimage = new Mat();
  223.  
  224. Imgproc.pyrUp(image, resizeimage);
  225. Size sizeImage1 = resizeimage.size();
  226. System.out.println("przed: " + sizeImage.height + "x" +sizeImage.width);
  227. System.out.println("po: " + sizeImage1.height + "x" +sizeImage1.width);
  228.  
  229. double wynik = sizeImage1.height/sizeImage.height;
  230. System.out.println(wynik);
  231.  
  232. namedWindow("Ukasz", WINDOW_AUTOSIZE);
  233. imshow("Ukasz", resizeimage);
  234. waitKey(0);
  235. destroyAllWindows();
  236.  
  237. //TRZEBA UŻYĆ RESIZE PONIEWAZ W PYRUP TRZEBA UZYWAC DZIENIKOW LICZBY 2
  238.  
  239.  
  240. }
  241.  
  242. public static void main(String[] args) {
  243.  
  244. zad1();
  245. //zad2();
  246. //zad3();
  247. //zad4();
  248. //zad5();
  249. //zad6();
  250. //zad7();
  251.  
  252. }
  253.  
  254. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement