日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全局阈值算法分析

發(fā)布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全局阈值算法分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

因為最近在做數(shù)字識別,需要用到自動閾值,重新看了看全局閾值算法,分析寫在這里

(學(xué)習(xí)了清風(fēng)似水流的CSDN博客:http://blog.csdn.net/ilyhlf5201314/article/details/8525695)

1. ?處理流程:

? ? ? ? ? ? ?1.為全局閾值選擇一個初始估計值T(圖像的平均灰度)。
? ? ? ? ? ? ?2.用T分割圖像。產(chǎn)生兩組像素:G1有灰度值大于T的像素組成,G2有小于等于T像素組成。
? ? ? ? ? ? ?3.計算G1和G2像素的平均灰度值m1和m2;
? ? ? ? ? ? ?4.計算一個新的閾值:T = (m1 + m2) / 2;
? ? ? ? ? ? ?5.重復(fù)步驟2和4,直到連續(xù)迭代中的T值間的差為零。

? ? ? ? ? ? ?此種方法主要適用于圖像直方圖有明顯波谷。

2.程序代碼:

1 //全局閾值函數(shù) 2 //給定一個初始閾值T,在T兩邊分別計算平均閾值T1和T2,不等,T=(T1+T2)/2,知道兩邊的平均閾值相等 3 u8 GlobalThreshold(u8 **img, u16 height, u16 width) 4 { 5 u8 pg[256] = {0}; //直方圖數(shù)組 6 u16 i,j,t=0,t1,t2,k1,k2; 7 double u=0,u1,u2; 8 9 //for (i = 0; i<256; i++) pg[i]=0; 10 for (i = 0; i<height; i++) //直方圖統(tǒng)計 11 { 12 for (j = 0; j<width; j++) 13 { 14 pg[ img[i][j] ]++; 15 } 16 } 17 18 19 20 for (i=0;i<256;i++) 21 { 22 t += pg[i]; //計算被統(tǒng)計的像素點數(shù)目 23 u += i * pg[i]; //第i階灰度值*第i階像素數(shù)目 24 } 25 k2 = (u16 )( u/t); //計算被統(tǒng)計像素點灰度的平均值,初始灰度值 26 27 do { 28 k1 = k2; 29 t1 = 0; u1 = 0; 30 for (i = 0; i<=k1; i++) //類似前面,計算低灰度組的累加值 31 { 32 t1 += pg[i]; //計算低灰度組被統(tǒng)計的像素點數(shù)目 33 u1 += i * pg[i]; 34 } 35 36 t2 = t - t1; //得到高灰度組的像素點數(shù)目 37 u2 = u - u1; //得到高灰度組的加權(quán)灰度 38 39 if (t1) 40 u1=u1/t1; //計算低灰度組的平均值 41 else 42 u1=0; 43 44 if (t2) 45 u2=u2/t2; //計算高灰度組的平均值 46 else 47 u2=0; 48 49 k2 = (u16 )((u1 + u2)/2 ); //計算新的閾值 50 }while( k1 != k2); //如果數(shù)值未穩(wěn)定,繼續(xù) 51 52 return k1; 53 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/rongfangliu/p/3575898.html

總結(jié)

以上是生活随笔為你收集整理的全局阈值算法分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。