Re: [問題] 關於影像二值化??
※ 引述《kiyasuto1 (kiy)》之銘言:
: 各位前輩好!!小弟是用BCB作的二值化,寫了個副程式,
: 想用圖的所有像素灰階值相加除以總像素數目來作門檻!
: (門檻=所有像素灰階值相加/總像素數目)
: 程式碼如下
: void tw(Byte **a)
: {
: int Bsum;
: float Background;
: for(int i = 0; i < ImgWidth; i++)
: {
: for(int j = 0; j < ImgHeight; j++)
: {
: Background=(Bsum+=a[i][j])/((ImgHeight)*(ImgWidth));
: }
: }
這一段改成
for(int i = 0; i < ImgWidth; i++)
{
for(int j = 0; j < ImgHeight; j++)
{
Bsum+=a[i][j];
}
}
Background= Bsum /(ImgHeight)*(ImgWidth);
: for(int i = 0; i < ImgWidth; i++)
: {
: for(int j = 0; j < ImgHeight; j++)
: {
: if( a[i][j] > Background )
: a[i][j] = 0;
: else
: a[i][j] = 255;
: }
: }
: }
: 但是編譯結果好像在計算門檻那一行爆掉了...
: 希望前輩們能指正一下小弟~~感謝!!拜託~
至於為什麼出錯....
自己重想一下邏輯
都還沒加完就心急著平均 XD
好吧好人當到底 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.65.218
※ 編輯: goodrain 來自: 140.115.65.218 (10/05 23:23)
毆我好像有點懂你的邏輯了XD
那樣的話應該是把A[i][j]除完後直接與Background相加就好
※ 編輯: goodrain 來自: 140.115.65.218 (10/05 23:29)
→
10/05 23:27, , 1F
10/05 23:27, 1F
→
10/05 23:27, , 2F
10/05 23:27, 2F
→
10/05 23:30, , 3F
10/05 23:30, 3F
→
10/05 23:31, , 4F
10/05 23:31, 4F
→
10/05 23:33, , 5F
10/05 23:33, 5F
→
10/05 23:54, , 6F
10/05 23:54, 6F
→
10/06 00:15, , 7F
10/06 00:15, 7F
討論串 (同標題文章)