matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层

1 背景知识

像素是由比特组成的数字。例如,在256级灰度图像中,每个像素的灰度是由8比特(也就是1个字节)组成。一幅8比特图像可以认为由8个1比特平面组成,如图1所示,其中平面1包含图像中所有像素的最低阶比特,而平面8包含图像中所有像素的最高阶比特。

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第1张图片

图1  8比特图像8层示意

把一幅图像分解为比特平面,对于分析图像中每个比特的相对重要性是很有用的,这一处理可帮助我们确定用于量化该图像的比特数的充分性。

2 FPGA实现

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第2张图片

图2 FPGA内部模块结构框图

FPGA源码:

//------------------------------------------------------------------------------------------------------

// layer

//------------------------------------------------------------------------------------------------------

//assign TFT_rgb = {o_y_8b[7],4'b0,o_y_8b[7],5'b0,o_y_8b[7],4'b0};     //Y The eighth layer

//assign TFT_rgb = {o_y_8b[6],4'b0,o_y_8b[6],5'b0,o_y_8b[6],4'b0};     //Y The seventh layer

//assign TFT_rgb = {o_y_8b[5],4'b0,o_y_8b[5],5'b0,o_y_8b[5],4'b0};       //Y The sixth layer

//assign TFT_rgb = {o_y_8b[4],4'b0,o_y_8b[4],5'b0,o_y_8b[4],4'b0};       //Y The fifth layer

//assign TFT_rgb = {o_y_8b[3],4'b0,o_y_8b[3],5'b0,o_y_8b[3],4'b0};       //Y The fourth layer

//assign TFT_rgb = {o_y_8b[2],4'b0,o_y_8b[2],5'b0,o_y_8b[2],4'b0};       //Y The third layer

//assign TFT_rgb = {o_y_8b[1],4'b0,o_y_8b[1],5'b0,o_y_8b[1],4'b0};       //Y The second layer

assign TFT_rgb = {o_y_8b[0],4'b0,o_y_8b[0],5'b0,o_y_8b[0],4'b0};       //Y The first layer

实验结果:

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第3张图片

图3 实验原图

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第4张图片

图4 The eighth layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第5张图片

图5 The seventh layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第6张图片

图6 The sixth layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第7张图片

图7 The fifth layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第8张图片

图8 The fourth layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第9张图片

图9 The third layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第10张图片

图10 The second layer

matlab比特平面分层法,基于FPGA的8比特图像的可比特平面分层_第11张图片

图11 The first layer

结果分析:

对于图3中(x,y)点的灰度值由8比特层平面相应点组成。灰度图像的分层对图像压缩很有作用,在图像压缩中,重建一幅图像时所用的平面要比全部平面少。

3cb6fadf54abcf9b11776f63dab8d75a.png

图12 灰度图像重建

图12 a使用比特平面8和7重建的图像;b使用比特平面8,7和6重建的图像;c使用比特8,7,6和5重建的图像。将图c与图a进行对比。

你可能感兴趣的:(matlab比特平面分层法)