得知DIP文章70日
轉載請注明文章出處:http://blog.csdn.net/tonyshengtan 。出於尊重文章作者的勞動。轉載請標明出處。文章代碼已托管,歡迎共同開發:https://github.com/Tony-Tan/DIPpro
開篇廢話
繼續簡單的介紹一下彩色圖像處理相關的知識。今天來簡單的說下直方圖增強在彩色圖像中的應用,灰度圖像直方圖增強在此處做了相關介紹,包含其數學原理。
對於灰度圖像中的一些算法適合直接用到彩色圖像的各個通道。也有一些不適合,直方圖均衡就屬於不適合的一種。假設直接將其作用在各個通道上,將引起圖像色相的變化因此也就是圖像變的不是其原來的樣子了。今天我們將直方圖均衡用到HSI色彩空間的I分量上,直方圖對亮度分量進行均衡。是圖像在亮度上得到增強。在飽和度和色向上保持不變。
算法原理
算法的原理就是利用HSI色彩空間的特點,I分量代表圖像亮度。處理后不會改變圖像色相。
算法步驟:
1. 從RGB轉換到HSI
2. 分離HSI空間。I分量形成一個單獨的灰度圖像
3. 對
4. 用均衡后的數據取代原I分量數據
5. HSI轉換回RGB
代碼
/*********************************************************************************************************************/
void HistEqualRGB(RGB *src,RGB *dst,int width,int height){
HSI *temp=(HSI*)malloc(sizeof(HSI)*width*height);
double *chanel_i=(double *)malloc(sizeof(double)*width*height);
RGB2HSI(src, temp, width, height);
for(int i=0;i<width*height;i++){
chanel_i[i]=(double)((int)temp[i].c3);
}
HistogramEqualization(chanel_i, chanel_i, width, height);
for(int i=0;i<width*height;i++){
temp[i].c3=chanel_i[i];
}
HSI2RGB(temp, dst, width, height);
free(temp);
free(chanel_i);
}
/*********************************************************************************************************************/
效果分析
以下對一些圖片進行上述算法操作。來觀察效果。
原圖:

原圖I分量:

原圖I分量直方圖:

直方圖均衡后結果:

直方圖均衡后直方圖:

處理后結果:

原圖:

原圖I分量:

原圖I分量直方圖:

直方圖均衡后結果:

直方圖均衡后直方圖:

處理后結果:

原圖:

原圖I分量:

原圖I分量直方圖:

直方圖均衡后結果:

直方圖均衡后直方圖:

處理后結果:

原圖:

原圖I分量:

原圖I分量直方圖:

直方圖均衡后結果:

直方圖均衡后直方圖:

處理后結果:

總結
整體來說算法效果穩定,計算速度快,但這僅僅是一種最簡單的彩色圖像增強的方法,由於已經決定以后做識別方向。所以彩色圖像的相關更深入的彩色變換,平滑,銳化。切割等僅僅做簡介,大家多多交流。
待續。
。。
版權聲明:本文博主原創文章,博客,未經同意不得轉載。