📜  Java中的图像处理——创建随机像素图像

📅  最后修改于: 2022-05-13 01:55:24.206000             🧑  作者: Mango

Java中的图像处理——创建随机像素图像

先决条件:

  • Java中的图像处理——读写
  • Java中的图像处理——获取和设置像素
  • Java中的图像处理——彩色图像到灰度图像的转换
  • Java中的图像处理——彩色图像到负图像的转换
  • Java中的图像处理——彩色到红绿蓝图像的转换
  • Java中的图像处理——彩色图像到棕褐色图像的转换

在本文中,我们将创建一个随机像素图像。为了创建一个随机像素图像,我们不需要任何输入图像。我们可以创建一个图像文件并设置其随机生成的像素值。

随机图像是随机选择像素的图像,因此它们可以从所需的调色板中获取任何颜色(通常为 1600 万种颜色)。生成的图像看起来像多色噪声背景。

算法:

  1. 设置新图像文件的尺寸。
  2. 创建一个 BufferedImage 对象来保存图像。此对象用于在 RAM 中存储图像。
  3. 为 alpha、红色、绿色和蓝色分量生成随机数值。
  4. 设置随机生成的 ARGB(Alpha、Red、Green 和 Blue)值。
  5. 对图像的每个像素重复步骤 3 和 4。

执行:

Java
// Java program to demonstrate 
// creation of random pixel image
  
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
  
public class RandomImage
{
    public static void main(String args[])throws IOException
    {
        // Image file dimensions
        int width = 640, height = 320;
  
        // Create buffered image object
        BufferedImage img = null;
        img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
  
        // file object
        File f = null;
  
        // create random values pixel by pixel
        for (int y = 0; y < height; y++)
        {
            for (int x = 0; x < width; x++)
            {
                  // generating values less than 256
                int a = (int)(Math.random()*256);
                int r = (int)(Math.random()*256);
                int g = (int)(Math.random()*256); 
                int b = (int)(Math.random()*256); 
  
                  //pixel
                int p = (a<<24) | (r<<16) | (g<<8) | b; 
  
                img.setRGB(x, y, p);
            }
        }
  
        // write image
        try
        {
            f = new File("C:/Users/hp/Desktop/Image Processing in Java/gfg-logo.png");
            ImageIO.write(img, "png", f);
        }
        catch(IOException e)
        {
            System.out.println("Error: " + e);
        }
    }
}


输出: