image processing, java, پردازش تصویر, پردازش تصویر در جاوا, جاوا

خواندن و نوشتن تصاویر در جاوا (Image Processing)

خواندن و نوشتن تصاویر در جاوا

در این قسمت تیم کدگیت را با آموزش خواندن و نوشتن تصاویر در جاوا (پردازش تصویر) همراهی کنید. در این آموزش ابتدا کلاس‌ها و کتاب خانه هایی که جاوا برای کار با تصاویر آماده کرده است را معرفی می‌کنیم و سپس به پیاده سازی مثالی می‌پردازیم. پیش نیاز این آموزش شامل موارد زیر است:

  1. فایل در جاوا
  2. استثناها در جاوا

پردازش تصویر

پردازش تصاویر امروزه بیشتر به موضوع پردازش تصویر دیجیتال گفته می‌شود که شاخه‌ای از دانش رایانه است که با پردازش سیگنال دیجیتال که نماینده تصاویر برداشته شده با دوربین دیجیتال یا پویش شده توسط پویشگر هستند سر و کار دارد.

پردازش تصاویر دارای دو شاخه عمده بهبود تصاویر و بینایی ماشین است. بهبود تصاویر دربرگیرنده روشهایی چون استفاده از فیلتر محوکننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آنها در محیط مقصد (مانند چاپگر یا نمایشگر رایانه)است، در حالی که بینایی ماشین به روشهایی می‌پردازد که به کمک آنها می‌توان معنی و محتوای تصاویر را درک کرد تا از آنها در کارهایی چون رباتیک و محور تصاویر استفاده شود(ویکیپدیا).

خواندن و نوشتن تصاویر در جاوا

برای اینکه یک تصویر را در جاوا بخوانیم از فایل باید استفاده کرد. کلاسی به نام BufferedImage برای کنترل و کار با تصاویر در جاوا وجود دارد. ما با استفاده از این کلاس یک تصویر را می‌خوانیم. همچنین با استفاده از همین کلاس یک فایل jpg را می‌سازیم. کلاس ImageIO در جاوا برای خواندن و نوشتن عکس استفاده می‌شود. ما با استفاده از این کلاس یک عکس را می‌خوانیم. خروجی این کلاس یک شی از جنس  BufferedImage است. کد خواندن و نوشتن تصاویر در جاوا به صورت زیر می‌باشد:

public class ReadWriteImage {
     public static void main(String[] args) {

          int width = 512; // width of the image
          int height = 512; // height of the image
          BufferedImage image = null;
          try {
              File input_file = new File("baboon.png"); // image file path
              image = ImageIO.read(input_file);
              System.out.println("Reading Compelete");

          } catch (IOException e) {
              e.printStackTrace();
          }

          // WRITE IMAGE
          try {
              // Output file path
              File output_file = new File("Output.jpg");

              // Writing to file taking type and path as
              ImageIO.write(image, "jpg", output_file);

              System.out.println("Writing complete.");
          } catch (IOException e) {
              System.out.println("Error: " + e);
          }

     }
}

در کد بالا ما یک تصویر به نام baboon.jpg را خوانده و دوباره همان عکس را با نام Output.jpg ایجاد کردیم. ImageIO.read یک ورودی فایل تصویر را گرفته و آن را می‌خواند. ImageIO.write یک BufferedImage و فایل برای نوشتن تصویر دریافت می‌کند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *