台灣最大程式設計社群網站
線上人數
1828
 
會員總數:241178
討論主題:186829
歡迎您免費加入會員
討論區列表 >> 影像處理 >> Flood fill標記錯誤
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Flood fill標記錯誤
價值 : 10 QP  點閱數:381 回應數:1

樓主

廖俊翔
門外漢
0 2
14 1
發送站內信

unsigned char image1[X_SIZE][Y_SIZE]
是我經過2值化的影像矩陣
二值化為0跟1值
接下來會經過標記的方法
我採用Flood fill方法
───────────────────────────────────────────────────────────────────────
void label(void)
{
int i,j;
int label=2;
for(j=1;j<Y_SIZE-1;j++)
for(i=1;i<X_SIZE-1;i++)
{
if(image1[i][j]==1)
{
flood(i,j,label);
label++;
if(label==255)label=2;
}


}


}
void flood(int x,int y,int label)
{

if(x>0&&x<X_SIZE&&y>0&&y<Y_SIZE)
{
if(image1[x][y]==1)
{
image1[x][y]=label;
label_size++;
flood(x+1,y,label);
flood(x-1,y,label);
flood(x,y+1,label);
flood(x,y-1,label);

}
}

}
─────────────────────────────────────────────────────────────────────
發現有時會出現錯誤
有時不會
例如:二質化的閥值
30時成功/100時失敗/60時失敗

如圖
檔名等於當下二值化的閥值





以上是我的問題
大家看的出來是哪裡出問題了嗎

搜尋相關Tags的文章: [ 標記 ] ,
本篇文章發表於2016-04-27 02:15
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

廖俊翔
檢舉此回應
更正 第一張圖閥值50 第二張圖閥值100 第三張圖閥值20 第四張圖閥值30
本篇文章回覆於2016-04-27 02:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.