加值服務
心情貼
直播
感興趣
手機交友
還沒登入愛情公寓嗎?
還沒加入愛情公寓嗎?
馬上進入公寓和
10,580,874
個住戶交朋友~
最新留言
想聊天
對我感興趣
互相感興趣
想約會
逗一下
日記留言
紅包抽抽樂!小資變土豪!
素人也能成為明日之星!
移除此區廣告請加入VIP
檔案狀態:
住戶編號:
842889
阿凱
的日記本
快速選單
到我的日記本
看他的最新日記
加入我的收藏
瀏覽我的收藏
GoodBye!My love
《前一篇
回他的日記本
後一篇》
水晶心得
切換閱讀模式
回應
給他日記貼紙
給他愛的鼓勵
檢舉
檢舉原因
此為詐騙帳號
此為廣告帳號
此為援交帳號
他未滿18歲
此為不雅及騷擾留言帳號
其他
篇名:
Histogram
作者:
阿凱
日期: 2010.10.29 天氣:
心情:
Histogram Equalization中譯名為『直方圖均衡化』,當然就是針對圖片所研究出來的技術,
此技術主要能將模糊的圖片修改為更清晰,模糊邊線讓它能更清楚的看見。
其用在黑白照片上,也就是將彩色圖片binarized,但這項技術不適用於彩色(變色)和白色區域(不顯眼)頗大的圖片上。
程式如下:
//Visual studio C#
//1. private partial class Form1 : Form內假設
////public Bitmap bmp = null;
////private int[,] arr;
//***************************************************
//2. arr = new int[MyImage.Height, MyImage.Width]; //MyImage就是你的照片存放區
// for (int y = 0; y <Height; y++)
// {
// for (int x = 0; x <Width; x++)
// {
// arr[y, x] = bimage.GetPixel(x, y).R; //因為灰階化(r、g、b平均),所以只要取一種顏色
// }
// } //在灰階設定裡頭,記得將像素載入arr
//宣告HistogramEqualization()函式作均化的處理
//物件需求: 一個PictureBox命名為Processed_picture //顯示結果圖片區
public void HistogramEqualization() {
/**************計算直方圖*****************/
int[] GrayLevel = new int[256]; //陣列大小等於灰階個數
int height = arr.GetLength(0), width = arr.GetLength(1); //讀取陣列長寬
int[,] result = new int[height, width]; //儲存轉換後的結果
for (int i = 0; i <height; i++) {
for (int j = 0; j <width; j++) {
int inx = arr[i, j];
GrayLevel[inx]++;
}
}
//***************累計次數正規化,計算分部函數**********/
double[] Transform = new double[256]; //儲存比率
for (int i = 0; i <256; i++)
Transform[i] = (double)GrayLevel[i] / (double)(height * width);
for (int i = 1; i <256; i++) //累計分布函式
Transform[i] = Transform[i] + Transform[i - 1];
//*****************計算新灰階**********************/
for (int i = 0; i <height; i++) {
for (int j = 0; j <width; j++) {
int inx = arr[i, j];
result[i, j] = (int)(Transform[inx] * (double)255);
}
}
//*****************寫入processed_picture box*******************/
Bitmap resultBmp = new Bitmap(height, width, PixelFormat.Format24bppRgb);
for (int i = 0; i <height; i++)
{
for (int j = 0; j <width; j++)
{
resultBmp.SetPixel(j, i, Color.FromArgb(result[i, j], result[i, j], result[i, j]));
}
}
Processed_picture.Image = resultBmp;
}
//另一種用於C++上
//參考: http://www.cs.mcu.edu.tw/~s0170234/ip/ip5.htm
[(-|]
標籤:
瀏覽次數:
545
人氣指數:
545
累積鼓勵:
0
切換閱讀模式
回應
給他日記貼紙
給他愛的鼓勵
檢舉
檢舉原因
此為詐騙帳號
此為廣告帳號
此為援交帳號
他未滿18歲
此為不雅及騷擾留言帳號
其他
給本文愛的鼓勵:
最新愛的鼓勵
給本文貼紙:
得到的貼紙
得到的貼紙:
給本文貼紙
本日記尚未得到貼紙
GoodBye!My love
《前一篇
回他的日記本
後一篇》
水晶心得