Java中的图像处理——创建随机像素图像
先决条件:
- Java中的图像处理——读写
- Java中的图像处理——获取和设置像素
- Java中的图像处理——彩色图像到灰度图像的转换
- Java中的图像处理——彩色图像到负图像的转换
- Java中的图像处理——彩色到红绿蓝图像的转换
- Java中的图像处理——彩色图像到棕褐色图像的转换
在本文中,我们将创建一个随机像素图像。为了创建一个随机像素图像,我们不需要任何输入图像。我们可以创建一个图像文件并设置其随机生成的像素值。
随机图像是随机选择像素的图像,因此它们可以从所需的调色板中获取任何颜色(通常为 1600 万种颜色)。生成的图像看起来像多色噪声背景。
算法:
- 设置新图像文件的尺寸。
- 创建一个 BufferedImage 对象来保存图像。此对象用于在 RAM 中存储图像。
- 为 alpha、红色、绿色和蓝色分量生成随机数值。
- 设置随机生成的 ARGB(Alpha、Red、Green 和 Blue)值。
- 对图像的每个像素重复步骤 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.