「java灰度图像」java灰度图像显示

博主:adminadmin 2023-01-09 22:45:06 59

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

本文目录一览:

java 怎么判断一幅图像是否是灰度图像还是彩色图像?

看RGB的数值吧!具体我也不大清楚!RGB都是有数值的,看它在那个值之间,就判断它什么颜色!

有大侠知道java或是js或是css中怎么将单通道灰度图片与三通道灰度图片吗?有没有什么相关的算法啊?

int ImageStretchByHistogram(IplImage *src1,IplImage *dst1)

/*************************************************

Function: 通过直方图变换进行图像增强,将图像灰度的域值拉伸到0-255

src1: 单通道灰度图像

dst1: 同样大小的单通道灰度图像

*************************************************/

{

assert(src1-width==dst1-width);

double p[256],p1[256],num[256];

memset(p,0,sizeof(p));

memset(p1,0,sizeof(p1));

memset(num,0,sizeof(num));

int height=src1-height;

int width=src1-width;

long wMulh = height * width;

//statistics

for(int x=0;xsrc1-width;x++)

{

for(int y=0;ysrc1- height;y++){

uchar v=((uchar*)(src1-imageData + src1-widthStep*y))[x];

num[v]++;

}

}

//calculate probability

for(int i=0;i256;i++)

{

p[i]=num[i]/wMulh;

}

//p1[i]=sum(p[j]); j=i;

for(int i=0;i256;i++)

{

for(int k=0;k=i;k++)

p1[i]+=p[k];

}

// histogram transformation

for(int x=0;xsrc1-width;x++)

{

for(int y=0;ysrc1- height;y++){

uchar v=((uchar*)(src1-imageData + src1-widthStep*y))[x];

((uchar*)(dst1-imageData + dst1-widthStep*y))[x]= p1[v]*255+0.5;

}

}

return 0;

}

void CCVMFCView::OnImageAdjustContrast()

{

if(workImg-nChannels1)

OnColorToGray();

Invalidate();

dst=cvCreateImage(cvGetSize(workImg),workImg-depth,workImg-nChannels);

ImageStretchByHistogram(workImg,dst);

m_dibFlag=imageReplace(dst,workImg);

Invalidate();

}

这个是C++代码格式的,你可以参考一下思路

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

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

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

2.变为灰度图

G = rgb2gray(I);

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

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 中如何获得灰度图像的像素值,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灰度图像的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java灰度图像显示、java灰度图像的信息别忘了在本站进行查找喔。

The End

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