Обработка изображений в Java — создание случайного пиксельного изображения

Опубликовано: 15 Сентября, 2022

Предпосылки:

  • Обработка изображений в Java — чтение и запись
  • Обработка изображений в Java — получение и установка пикселей
  • Обработка изображений в Java — преобразование цветного изображения в изображение в градациях серого
  • Обработка изображений в Java — преобразование цветного изображения в негативное изображение
  • Обработка изображений в Java — преобразование цветных изображений в красные, зеленые, синие
  • Обработка изображений в Java — преобразование цветного изображения в изображение сепии

В этой статье мы будем создавать изображение со случайными пикселями. Для создания случайного пиксельного изображения нам не нужно входное изображение. Мы можем создать файл изображения и установить его значения пикселей, сгенерированные случайным образом.

Случайное изображение — это изображение, в котором пиксели выбираются случайным образом, поэтому они могут принимать любой цвет из желаемой палитры (обычно 16 миллионов цветов). Полученные изображения выглядят как разноцветные шумовые фоны.

Алгоритм:

  1. Установите размер нового файла изображения.
  2. Создайте объект BufferedImage для хранения изображения. Этот объект используется для хранения изображения в оперативной памяти.
  3. Сгенерируйте случайные числовые значения для альфа-, красных, зеленых и синих компонентов.
  4. Установите случайно сгенерированные значения ARGB (альфа, красный, зеленый и синий).
  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);
        }
    }
}

Выход:

Note: Code will not run on online ide since it writes image in drive.

Эта статья предоставлена Pratik Agarwal . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью с помощью write.geeksforgeeks.org или отправить ее по адресу review-team@geeksforgeeks.org. Посмотрите, как ваша статья появится на главной странице GeeksforGeeks, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.