「java灰度图像」java 灰度图

博主:adminadmin 2022-11-23 03:34:06 67

今天给各位分享java灰度图像的知识,其中也会对java 灰度图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 中如何获得灰度图像的像素值,getRGB和getRaster有什么区别?

关于图像像素值,我想要先讲一下Java中如何组织一个图像对象BufferedImage的,

一个BufferedImage的像素数据储存在Raster中,ColorModel里面储存颜色空间,类型等

信息,当前Java只支持一下三种图像格式- JPG,PNG,GIF,如何向让Java支持其它格式,首

先要 完成Java中的图像读写接口,然后打成jar,加上启动参数- Xbootclasspath/p

newimageformatIO.jar即可。

取得BufferedImage的代码如下:

File file = new File("D:\\test\\blue_flower.jpg");

BufferedImage image = ImageIO.read(file);

取得像素使用getRGB,代码如下:

int type= image.getType();

if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )

return (int [])image.getRaster().getDataElements(x, y, width, height, pixels );

else

return image.getRGB( x, y, width, height, pixels, 0, width );

写入像素,才可能用到getRaster,在type为ARGB 或RGB时,必须使用getRaster().setDataElements方式设置,其他格式直接setRGB,代码如下:

int type= image.getType();

if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )

image.getRaster().setDataElements(x, y, width, height, pixels );

else

image.setRGB(x, y, width, height, pixels, 0, width );

java 8位灰度图的灰度值怎么获取

public int filterRGB(int x, int y, int rgb) {

        int a = rgb  0xff000000;//将最高位(24-31)的信息(alpha通道)存储到a变量

        int r = (rgb  16)  0xff;//取出次高位(16-23)红色分量的信息

        int g = (rgb  8)  0xff;//取出中位(8-15)绿色分量的信息

        int b = rgb  0xff;//取出低位(0-7)蓝色分量的信息

        rgb = (r * 77 + g * 151 + b * 28)  8;    // NTSC luma,算出灰度值

        return a | (rgb  16) | (rgb  8) | rgb;//将灰度值送入各个颜色分量

    }

java 8位灰度图的灰度值怎么获取,用ImageIO获得的怎么和matlab获得的不一样,希望高手能指教一下!

1.调用matlab的图像读取函数imread读图片,把图片放在work文件夹下

I = imread('样品.jpg');

2.变为灰度图

G = rgb2gray(I);

3.双击workspace中的G项,在弹出的array edit中就看到了灰度矩阵

关于java灰度图像和java 灰度图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。