Обработка изображений в Java — создание случайного пиксельного изображения
Предпосылки:
- Обработка изображений в Java — чтение и запись
- Обработка изображений в Java — получение и установка пикселей
- Обработка изображений в Java — преобразование цветного изображения в изображение в градациях серого
- Обработка изображений в Java — преобразование цветного изображения в негативное изображение
- Обработка изображений в Java — преобразование цветных изображений в красные, зеленые, синие
- Обработка изображений в Java — преобразование цветного изображения в изображение сепии
В этой статье мы будем создавать изображение со случайными пикселями. Для создания случайного пиксельного изображения нам не нужно входное изображение. Мы можем создать файл изображения и установить его значения пикселей, сгенерированные случайным образом.
Случайное изображение — это изображение, в котором пиксели выбираются случайным образом, поэтому они могут принимать любой цвет из желаемой палитры (обычно 16 миллионов цветов). Полученные изображения выглядят как разноцветные шумовые фоны.
Алгоритм:
- Установите размер нового файла изображения.
- Создайте объект BufferedImage для хранения изображения. Этот объект используется для хранения изображения в оперативной памяти.
- Сгенерируйте случайные числовые значения для альфа-, красных, зеленых и синих компонентов.
- Установите случайно сгенерированные значения ARGB (альфа, красный, зеленый и синий).
- Повторите шаги 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, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.