Обработка изображений в 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, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.