- Java数字图像处理
- DIP - 主页
- DIP - 简介
- DIP - Java BufferedImage 类
- DIP - 图像下载和上传
- DIP - 图像像素
- DIP - 灰度转换
- DIP - 增强图像对比度
- DIP - 增强图像亮度
- DIP - 增强图像清晰度
- DIP - 图像压缩技术
- DIP - 添加图像边框
- DIP - 图像Pyramid
- DIP - 基本阈值
- DIP - 图像形状转换
- DIP - 高斯滤波器
- DIP - 箱式过滤器
- DIP - 腐蚀和膨胀
- DIP - 水印
- DIP - 理解卷积
- DIP - Prewitt 操作员
- DIP - 索贝尔操作员
- DIP - 基尔希运算符
- DIP - 罗宾逊操作员
- DIP - 拉普拉斯算子
- DIP - 加权平均滤波器
- DIP - 创建缩放效果
- DIP - 开源库
- DIP - OpenCV 简介
- DIP - 灰度转换 OpenCV
- DIP - 色彩空间转换
- DIP 有用资源
- DIP - 快速指南
- DIP - 有用的资源
- DIP - 讨论
Java DIP - 图像像素
图像包含二维像素阵列。它实际上是构成图像的那些像素的值。通常图像可以是彩色或灰度的。
在Java中,BufferedImage类用于处理图像。您需要调用BufferedImage类的getRGB()方法来获取像素的值。
获取像素值
可以使用以下语法接收像素值 -
Color c = new Color(image.getRGB(j, i));
获取 RGB 值
getRGB()方法将行索引和列索引作为参数并返回适当的像素。对于彩色图像,它返回三个值(红、绿、蓝)。它们可以得到如下 -
c.getRed(); c.getGreen(); c.getBlue();
获取图像的宽度和高度
图像的高度和宽度可以通过调用BufferedImage类的getWidth()和getHeight()方法来获取。它的语法如下:
int width = image.getWidth(); int height = image.getHeight();
除了这些方法之外,BufferedImage 类还支持其他方法。它们被简要描述-
先生。 | 方法及说明 |
---|---|
1 |
复制数据(WritableRaster outRaster) 它计算 BufferedImage 的任意矩形区域并将其复制到指定的 WritableRaster 中。 |
2 |
获取颜色模型() 它返回图像的 ColorModel。 |
3 |
获取数据() 它将图像作为一个大图块返回。 |
4 |
获取数据(矩形矩形) 它计算并返回 BufferedImage 的任意区域。 |
5 |
获取图形() 此方法返回 Graphics2D,但此处是为了向后兼容。 |
6 |
获取高度() 它返回 BufferedImage 的高度。 |
7 |
获取MinX() 它返回此 BufferedImage 的最小 x 坐标。 |
8 |
getMinY() 它返回此 BufferedImage 的最小 y 坐标。 |
9 |
getRGB(int x, int y) 它返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。 |
10 |
获取类型() 它返回图像类型。 |
例子
以下示例演示了使用 java BufferedImage 类显示大小为 (100 x 100) 的图像的像素 -
import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO; import javax.swing.JFrame; class Pixel { BufferedImage image; int width; int height; public Pixel() { try { File input = new File("blackandwhite.jpg"); image = ImageIO.read(input); width = image.getWidth(); height = image.getHeight(); int count = 0; for(int i=0; i<height; i++) { for(int j=0; j<width; j++) { count++; Color c = new Color(image.getRGB(j, i)); System.out.println("S.No: " + count + " Red: " + c.getRed() +" Green: " + c.getGreen() + " Blue: " + c.getBlue()); } } } catch (Exception e) {} } static public void main(String args[]) throws Exception { Pixel obj = new Pixel(); } }
输出
当您执行上面的示例时,它将打印以下图像的像素 -
原始图像
像素输出
如果向下滚动输出,则会看到以下模式 -