{"id":3285,"date":"2021-07-23T08:59:40","date_gmt":"2021-07-23T08:59:40","guid":{"rendered":"https:\/\/www.bearloga.space\/?page_id=3285"},"modified":"2021-07-23T08:59:40","modified_gmt":"2021-07-23T08:59:40","slug":"opencv-risovanie-linii","status":"publish","type":"page","link":"https:\/\/www.bearloga.space\/uk\/opencv-risovanie-linii\/","title":{"rendered":"OpenCV \u2014 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u0438\u043d\u0438\u0438"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u043d\u0438\u044e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u0442\u043e\u0434&nbsp;<strong>line ()<\/strong>&nbsp;\u043a\u043b\u0430\u0441\u0441\u0430&nbsp;<strong>imgproc<\/strong>&nbsp;.&nbsp;\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">line(img, pt1, pt2, color, thickness)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u2014<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>mat<\/strong>&nbsp;\u2014 \u043e\u0431\u044a\u0435\u043a\u0442&nbsp;<strong>Mat,<\/strong>&nbsp;\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0430 \u043b\u0438\u043d\u0438\u044f.<\/li><li><strong>pt1 \u0438 pt2<\/strong>&nbsp;\u2014 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u0432\u0443\u0445&nbsp;<strong>\u0442\u043e\u0447\u0435\u043a,<\/strong>&nbsp;\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0442\u043e\u0447\u043a\u0438, \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u043b\u0438\u043d\u0438\u044f.<\/li><li><strong>\u0441\u043a\u0430\u043b\u044f\u0440<\/strong>&nbsp;\u2014&nbsp;<strong>\u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0439<\/strong>&nbsp;\u043e\u0431\u044a\u0435\u043a\u0442, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0446\u0432\u0435\u0442 \u043a\u0440\u0443\u0433\u0430.&nbsp;(\u0411\u0413\u0420)<\/li><li><strong>\u0442\u043e\u043b\u0449\u0438\u043d\u0430<\/strong>&nbsp;\u2014 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0442\u043e\u043b\u0449\u0438\u043d\u0443 \u043b\u0438\u043d\u0438\u0438;&nbsp;\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u0449\u0438\u043d\u044b \u0440\u0430\u0432\u043d\u043e 1.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mat<\/strong>&nbsp;\u2014 \u043e\u0431\u044a\u0435\u043a\u0442&nbsp;<strong>Mat,<\/strong>&nbsp;\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0430 \u043b\u0438\u043d\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>pt1 \u0438 pt2<\/strong>\u00a0\u2014 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u0432\u0443\u0445\u00a0<strong>\u0442\u043e\u0447\u0435\u043a,<\/strong>\u00a0\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0442\u043e\u0447\u043a\u0438, \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u043b\u0438\u043d\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0441\u043a\u0430\u043b\u044f\u0440<\/strong>&nbsp;\u2014&nbsp;<strong>\u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0439<\/strong>&nbsp;\u043e\u0431\u044a\u0435\u043a\u0442, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0446\u0432\u0435\u0442 \u043a\u0440\u0443\u0433\u0430.&nbsp;(\u0411\u0413\u0420)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0442\u043e\u043b\u0449\u0438\u043d\u0430<\/strong>&nbsp;\u2014 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0442\u043e\u043b\u0449\u0438\u043d\u0443 \u043b\u0438\u043d\u0438\u0438;&nbsp;\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u0449\u0438\u043d\u044b \u0440\u0430\u0432\u043d\u043e 1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u043f\u0440\u0438\u043c\u0435\u0440<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u043a\u0430\u043a \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u043d\u0438\u044e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043a\u043d\u0430 JavaFX.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import java.awt.image.BufferedImage;\n\nimport java.io.ByteArrayInputStream;\nimport java.io.InputStream;\nimport javax.imageio.ImageIO;\n\nimport javafx.application.Application;\nimport javafx.embed.swing.SwingFXUtils;\nimport javafx.scene.Group;\nimport javafx.scene.Scene;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.WritableImage;\nimport javafx.stage.Stage;\n\nimport org.opencv.core.Core;\nimport org.opencv.core.Mat;\nimport org.opencv.core.MatOfByte;\nimport org.opencv.core.Point;\nimport org.opencv.core.Scalar;\nimport org.opencv.imgcodecs.Imgcodecs;\nimport org.opencv.imgproc.Imgproc;\n\npublic class DrawingLine extends Application {\n   Mat matrix = null;\n\n   @Override\n   public void start(Stage stage) throws Exception {\n   \n      \/\/ Capturing the snapshot from the camera\n      DrawingLine obj = new DrawingLine();\n      WritableImage writableImage = obj.LoadImage();\n\n      \/\/ Setting the image view\n      ImageView imageView = new ImageView(writableImage);\n\n      \/\/ setting the fit height and width of the image view\n      imageView.setFitHeight(600);\n      imageView.setFitWidth(600);\n\n      \/\/ Setting the preserve ratio of the image view\n      imageView.setPreserveRatio(true);\n\n      \/\/ Creating a Group object  \n      Group root = new Group(imageView);\n\n      \/\/ Creating a scene object\n      Scene scene = new Scene(root, 600, 400);\n\n      \/\/ Setting title to the Stage\n      stage.setTitle(\"Drawing a line on the image\");\n\n      \/\/ Adding scene to the stage\n      stage.setScene(scene);\n\n      \/\/ Displaying the contents of the stage\n      stage.show();\n   }\n   public WritableImage LoadImage() throws Exception {\n      \/\/ Loading the OpenCV core library\n      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );\n\n      \/\/ Reading the Image from the file and storing it in to a Matrix object\n      String file =\"E:\/OpenCV\/chap8\/input.jpg\";\n      Mat matrix = Imgcodecs.imread(file);\n\n      <strong>\/\/ Drawing a line\n      Imgproc.line (\n         matrix,                    \/\/Matrix obj of the image\n         new Point(10, 200),        \/\/p1\n         new Point(300, 200),       \/\/p2\n         new Scalar(0, 0, 255),     \/\/Scalar object for color\n         5                          \/\/Thickness of the line\n      );<\/strong>\n      \/\/ Encoding the image\n      MatOfByte matOfByte = new MatOfByte();\n      Imgcodecs.imencode(\".jpg\", matrix, matOfByte);\n\n      \/\/ Storing the encoded Mat in a byte array\n      byte[] byteArray = matOfByte.toArray();\n\n      \/\/ Displaying the image\n      InputStream in = new ByteArrayInputStream(byteArray);\n      BufferedImage bufImage = ImageIO.read(in);\n\n      this.matrix = matrix;\n\n      \/\/ Creating the Writable Image\n      WritableImage writableImage = SwingFXUtils.toFXImage(bufImage, null);\n      return writableImage;\n   }\n   public static void main(String args[]) {\n      launch(args);\n   }\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u043d\u0438\u044e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u0442\u043e\u0434&nbsp;line ()&nbsp;\u043a\u043b\u0430\u0441\u0441\u0430&nbsp;imgproc&nbsp;.&nbsp;\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430. line(img, pt1, pt2, color, thickness) \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[108],"tags":[],"class_list":["post-3285","page","type-page","status-publish","hentry","category-opencv"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/3285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/comments?post=3285"}],"version-history":[{"count":0,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/3285\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/media?parent=3285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/categories?post=3285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/tags?post=3285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}