{"id":3277,"date":"2021-07-23T08:47:37","date_gmt":"2021-07-23T08:47:37","guid":{"rendered":"https:\/\/www.bearloga.space\/?page_id=3277"},"modified":"2021-07-23T08:47:38","modified_gmt":"2021-07-23T08:47:38","slug":"opencv-chtenie-izobrazheniya-v-gradacziyah-serogo","status":"publish","type":"page","link":"https:\/\/www.bearloga.space\/en\/opencv-chtenie-izobrazheniya-v-gradacziyah-serogo\/","title":{"rendered":"OpenCV \u2014 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f\u0445 \u0441\u0435\u0440\u043e\u0433\u043e"},"content":{"rendered":"\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 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0446\u0432\u0435\u0442\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f\u0445 \u0441\u0435\u0440\u043e\u0433\u043e \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043a\u043d\u0430 JavaFX.&nbsp;\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0444\u043b\u0430\u0433&nbsp;<strong>IMREAD_GRAYSCALE<\/strong>&nbsp;\u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439 \u043f\u0443\u0442\u044c \u043a \u0446\u0432\u0435\u0442\u043d\u043e\u043c\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044e.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import java.awt.image.BufferedImage;\n\nimport org.opencv.core.Core;\nimport org.opencv.core.Mat;\nimport org.opencv.imgcodecs.Imgcodecs;\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\npublic class ReadingAsGrayscale extends Application {\n   @Override\n   public void start(Stage stage) throws Exception {\n      WritableImage writableImage = loadAndConvert();\n\n      \/\/ Setting the image view\n      ImageView imageView = new ImageView(writableImage);\n\n      \/\/ Setting the position of the image\n      imageView.setX(10);\n      imageView.setY(10);\n\n      \/\/ setting the fit height and width of the image view\n      imageView.setFitHeight(400);\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(\"Reading image as grayscale\");\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 loadAndConvert() throws Exception {\n      \/\/ Loading the OpenCV core library\n      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );\n\n      \/\/ Instantiating the imagecodecs class\n      Imgcodecs imageCodecs = new Imgcodecs();\n\n      String input = \"C:\/EXAMPLES\/OpenCV\/sample.jpg\";\n\n      \/\/ Reading the image\n      Mat src = imageCodecs.imread(input, Imgcodecs.IMREAD_GRAYSCALE);\n       \n      byte[] data1 = new byte[src.rows() * src.cols() * (int)(src.elemSize())];\n      src.get(0, 0, data1);\n      \n      \/\/ Creating the buffered image\n      BufferedImage bufImage = new BufferedImage(src.cols(),src.rows(), \n         BufferedImage.TYPE_BYTE_GRAY);\n      \n      \/\/ Setting the data elements to the image\n      bufImage.getRaster().setDataElements(0, 0, src.cols(), src.rows(), data1);\n              \n      \/\/ Creating a WritableImage\n      WritableImage writableImage = SwingFXUtils.toFXImage(bufImage, null);\n      System.out.println(\"Image Read\");\n      return writableImage;\n   } \n   public static void main(String args[]) throws Exception { \n      launch(args); \n   } \n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0445\u043e\u0434\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043d\u0438\u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u00a0<strong>sample.jpg,<\/strong>\u00a0\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0432 \u0432\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/coderlessons.com\/wp-content\/uploads\/2019\/07\/sample_image-4.jpg\" alt=\"\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\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 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0446\u0432\u0435\u0442\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f\u0445 \u0441\u0435\u0440\u043e\u0433\u043e \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043a\u043d\u0430 JavaFX.&nbsp;\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, [&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-3277","page","type-page","status-publish","hentry","category-opencv"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/pages\/3277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/comments?post=3277"}],"version-history":[{"count":0,"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/pages\/3277\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/media?parent=3277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/categories?post=3277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bearloga.space\/en\/wp-json\/wp\/v2\/tags?post=3277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}