در این قسمت تیم کدگیت را با آموزش تبدیل سبز رنگ در جاوا (پردازش تصویر) همراهی کنید. در ادامه موضوع بهبود تصاویر در جاوا، این آموزش به معرفی تبدیل سبز رنگ خواهیم پرداخت. ابتدای آموزش تبدیل سبز رنگ در جاوا را معرفی کرده سپس آن را با ذکر مثال پیاده سازی خواهیم کرد. پیش نیاز این آموزش شامل موارد زیر است:
تبدیل سبز رنگ
تبدیل سبز رنگ همانطور که از نام آن پیداست یک تصویر رنگی را به تصویری سبز تبدیل میکند. ایده و الگوریتم این تبدیل به صورت زیر میباشد:
- تمامی پیکسل تصویر رنگی را دریافت کرده
- پیکسلهای ورودی را به صورت زیر تنظیم میکنیم.
- پیکسل رنگ قرمز را عدد صفر قرار میدهیم.
- پیکسل رنگ آبی را عدد صفر قرار میدهیم.
- پیکسل رنگ سبز را تغییر نمیدهیم.
- پیکسلهای تصویر ورودی را با روش بالا تغییر میدهیم.
- مراحل 2 و 3 را برای تمامی پیکسلها انجام میدهیم.
بعد از انجام مراحل بالا تصویر ایجاد شده سبز رنگ میشود. تصویر زیر این تبدیل را نشان میدهد:

پیاده سازی تبدیل سبز رنگ در جاوا
برای پیاده سازی تبدیل سبز رنگ باید یک عکس را خوانده سپس پیکسلهای آن را طبق روش بالا تغییر دهیم. پیاده سازی این تبدیل به صورت زیر است:
public class Green_Image {
public static void main(String args[]) throws IOException {
BufferedImage img = null;
File f = null;
// read image
try {
f = new File("GreenImageInput.jpg");
img = ImageIO.read(f);
} catch (IOException e) {
System.out.println(e);
}
// get width and height
int width = img.getWidth();
int height = img.getHeight();
// convert to Green image
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int rgba = img.getRGB(x, y);
Color col = new Color(rgba, true);
col = new Color(0, col.getGreen(), 0);
img.setRGB(x, y, col.getRGB());
}
}
// write image
try {
f = new File("GreenImageOutput.jpg");
ImageIO.write(img, "jpg", f);
} catch (IOException e) {
System.out.println(e);
}
}
کد بالا در آموزشهای گذشته پردازش تصویر به طور کلی توضیح داده شده است و فقط تنها تغییری که نسبت به کدهای آموزشهای قبل دادیم، متغیر col آن است که پیکسلهای قرمز و آبی آن را صفر کرده و فقط سبز آن را نگه داشتیم. خروجی کد بالا به صورت زیر است:
