开云-基于FPGA的直方图均衡化

基在FPGA的直方图平衡化 时候:2024-12-13 15:28:02 手机看文章

扫描二维码随时随地手机看文章

基在FPGA的直方图平衡化

1 直方图平衡

直方图平衡化是图象处置范畴中操纵图象直方图对对照度进行调剂的方式。经由过程这类方式,亮度可以更好地在直方图上散布。如许便可以用在加强局部的对照度而不影响整体的对照度,直方图平衡化经由过程有用地扩大经常使用的亮度来实现这类功能。

一个灰度图象,让ni暗示灰度i呈现的次数,如许图象中灰度为i 的像素的呈现几率是

L 是图象中所有的灰度数,n 是图象中所有的像素数,p 现实上是图象的直方图,归一化到 0..1。

把 c 作为对应在 p 的累计几率函数, 界说为:

c 是图象的累计归一化直方图。

我们建立一个情势为 y=T(x) 的转变,对原始图象中的每一个值它就发生一个 y,如许 y 的累计几率函数便可以在所有值规模内进行线性化,转换公式界说为:

yi=T(xi) =c(i)

留意 T 将分歧的品级映照到 0..1 域。

上面描写了灰度图象上利用直方图平衡化的方式,可是经由过程将这类方式别离用在图象RGB色彩值的红色、绿色和蓝色份量,从而也能够对彩色图象进行处置。

直方图平衡化简单申明:

假定一幅巨细为64*64像素(MN=4096)的3 bit图象(L=8)的灰度散布以下表。此中灰度级是规模[0,L-1]=[0-7]中的整数。

和S2=4.55,S3=5.67,S4=6.23,S5=6.65,S6=6.86,S7=7.00。在这一点上,S值一向是分数,由于它们是经由过程求几率值的和发生的,是以我们要把他们近似为最接近的整数:

2 matlab直方图平衡

close all

clear all;

clc;

%imhist( i ):直接显示图象i的灰度直方图(默许为255个灰度级);?

%imhist(i,n):n为指定灰度级显示直方图;?

%[count, x] = imhist( i ) 获得直方图信息,count为每级灰度像素个数,

% x为灰度级,x也能够在imhist(i,x)中指定,可以经由过程stem(x,count)画响应直方图;

% J=histeq(I,hgram);

% J=histeq(I,n);

% [J,T]=histeq(I);

% 注:hgram为归一化(各元素均在[0,1]上)的灰度直方图。

% [J,T]=histeq(I);返回图象J的同时也返回变换向量。

I = imread('0.bmp');

Igray = rgb2gray(I);

Ieq =histeq(Igray);

Ihist = imhist(Ieq);

figure(1),

subplot(221),imshow(Igray);

title('Igray');

subplot(222),imhist(Igray);;

subplot(223),imshow(Ieq);

title('Ieq');

subplot(224),imhist(Ieq);

3 FPGA直方图平衡

FPGA的直方图平衡化(真)

FPGA的直方图平衡化(伪)

直方图平衡模块的输入为灰度图象(未平衡化)输出为平衡化图象,采取伪平衡设计。

1,IDLE:余暇时刻,期待图象帧有用到来跳转到下一个状况。

2,STATISTICS:直方图的统计和映照,期待帧有用竣事完成统计和直方图的映照(直方图平衡化)和跳转到下一个状况。

3,STATISTICS_ACC:对统计到的成果进行累加,完成后跳转到下一个状况。

4,NORMAL,EQU,WAIT_EQU:对灰度级进行归一化运算,并期待帧有用到来进行从头映照。

fpga平衡化前

fpga平衡化后

欲知详情,请下载word文档 下载文档

上一篇:开云-不容忽视的嵌入式软件兼容性问题 下一篇:开云-英矽智能获得Exelixis 1000万美元里程碑付款