一、采样
采样就是指把时间域或空间域的连续量转化成离散量的过程。图像的采样其实就将多个像素用一个像素取代,每隔一定的间隔取一个像素。
我们首先要获得Image对象的数组,可以按下面进行:
PixelGrabber pg = new PixelGrabber(im, 0, 0, iw, ih, pix, 0, iw);
pg.grabPixels();
具体的细节可以查看java的帮助文档,这里强调一下pix就是返回的像素数组,是以默认的 RGB ColorModel 形式将像素存储到数组中。
具体的采样原理看到下面的程序就明白了(当然可以定义不用的采样细节,如水平和垂直的采样间隔不相等等,这里采用的是使用平均色取代):
public int[] sample(int[] pix, int iw, int ih, int grey)
{
//对图像进行采样
ColorModel cm = ColorModel.getRGBdefault();
int d = (int)(256/grey); //采样间隔
int dd = d*d;
for(int i = 0; i < ih; i = i+d)
{
for(int j = 0; j < iw; j = j+d)
{
int r = 0, g = 0, b = 0;
for(int k = 0; k < d; k++)
for(int l = 0; l < d; l++)
r = r + cm.getRed(pix[(i+k)*iw+(j+l)]);
for(int k = 0; k < d; k++)
for(int l = 0; l < d; l++)
g = g + cm.getGreen(pix[(i+k)*iw+(j+l)]);
for(int k = 0; k < d; k++)
for(int l = 0; l < d; l++)
b = b + cm.getBlue(pix[(i+k)*iw+(j+l)]);
r = (int)(r/dd);
g = (int)(g/dd);
b = (int)(b/dd);
for(int k = 0; k < d; k++)
for(int l = 0; l < d; l++)
pix[(i+k)*iw+(j+l)] = 255<<24|r<<16|g<<8|b;
}
}
return pix;
}
采样结果(采样间隔为grey的值为16):
二、量化
量化指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。例如:对应连续的实数用最近的整数代替。看完程序相信就没有问题了,附上实验结果。
public int[] quantize(int[] pix, int iw, int ih, int level)
{
int greyLevel = 256/level;
int tem, r, g, b;
//对图像进行量化处理
ColorModel cm=ColorModel.getRGBdefault();
for(int i = 0; i< iw*ih; i++)
{
r = cm.getRed(pix[i]);
tem = r / greyLevel;
r = tem*greyLevel;
g = cm.getGreen(pix[i]);
tem = g / greyLevel;
g = tem*greyLevel;
b = cm.getBlue(pix[i]);
tem = b / greyLevel;
b = tem*greyLevel;
pix[i] = 255<<24|r<<16|g<<8|b;
}
return pix;
}
- 大小: 56.1 KB
- 大小: 41.2 KB
分享到:
相关推荐
图文处理原理及图像数字化工艺---印刷课件
不错的东西 图像数字化和显示的一些介绍知识
基于数字图像处理的 图像数字化源码 VS c++
图像数字化的讲解,包括采样、采样函数、采样定理,量化方法,存储格式等等。
入图像数字化技术来客观地反映裂隙化岩石的非均质性结构分布,并将其转化成物理参数(渗透系数、 弹性模量等)的分布图,然后将它和数值方法相结合,应用于裂隙化岩石流固热多场耦合分析中。首先需要获得高 清晰度的...
随着图像技术的快速发展,图像已经由模拟图像进入到...图像数字化是图像技术的基础,图像通过数字化,把图像信息按照指定的格式存入计算机 的存储介质中,从而为图像处理、图像分析和图像理解提供了图像的详细数字信息
C#图像数字化.rar
讲懂图像数字化入门
数字图像处理技术PPT图像数字化和直方图.ppt
图像数字化保存,灰度化,matlab程序
数字图像处理技术图像数字化和直方图PPT学习教案.pptx
基于MATLAB的尾流图像数字化处理
印前图像处理技术图像数字化与图文处理方法PPT学习教案.pptx
基于MATLAB的尾流图像数字化处理.pdf
音视频-编解码-雷达图像数字化显示.pdf
1、了解静止图像的数字原理; 2、理解不同采样数和不同量化级数的对数字化图像质量的影响。
SQL Server 2000在多路电视腹腔镜图像数字化处理系统中的应用.pdf
数字图像处理第二章图像的数字化与显示,主要讲解灰度值量化等
数字图像处理课件:第02章 图像的数字化与显示.ppt