轻松下载粉色直播APP_国产亚洲不卡一区二区_免费高清综合少妇_欧洲综合激情五月丁香_草草视频这里只精品10_亚洲国产精品日韩新茶_成人午夜激情在线观看_黄色网av一级免费观看_一日本久久之精品_国产成人免费A V片在线观看

圖像處理
新聞詳情

【數(shù)字圖像處理】二值化圖像腐蝕運算與膨脹運算

發(fā)布時間:2020-12-29 17:14:59 最后更新:2020-12-29 19:13:24 瀏覽次數(shù):4256

形態(tài)學基本概念

基本思想:用一定形態(tài)的結構元素去度量和提取圖像中的對應形狀,達到分析知識的目的??捎糜趫D像處理的各個方面,包括圖像分割、邊界檢測、特征提取。

結構元素:形態(tài)學變換中的基本元素,使為了探測圖像的某種結構信息而設計的特定形狀和尺寸的圖像,稱為收集圖像結構信息的探針。
結構元素有多種類型:如圓形、方形、線型等,可攜帶知識(形態(tài)、大小、灰度和色度信息)來探測、研究圖像的結構特點。

形態(tài)學運算包括:二值化腐蝕和膨脹、二值化開閉運算、骨架抽取、擊中擊不中變換等。
形態(tài)學四個基本算子:膨脹,腐蝕、開啟和閉合組成,這些基本運算還可以推導和組合成各種數(shù)學形態(tài)學實用算法。

 

腐蝕運算

腐蝕運算思路:定義結構元素(與模板類似),結構元素在整幅圖像中移動,移動到每個像素點上,只有結構元素與圖像上對應像素點的像素值全部相等時,保留這個像素點的值。
腐蝕運算作用:消除物體邊界點,使邊界點向內部收縮,可以把小于結構元素的物體去除。選取不同大小的結構元素,去除不同大小的物體。如兩個物體間有細小的連通,通過腐蝕可以將兩個物體分開。

腐蝕運算

 

 腐蝕運算示意圖

基本方法:

通常拖到結構元素在X域移動,在每一個位置上,當結構元素B在中心平移到X圖像上的某優(yōu)點(x,y)。

如果結構元素內的每一個像素都與以(x,y)為中心的相同鄰域中對應像素完全相同,那么就保留(x,y)像素點。

對于不滿足條件的像素點則全部刪除,達到邊界向內收縮效果。

 

腐蝕運算c語言實現(xiàn)

  • 水平腐蝕:不處理左右兩邊
  • 垂直腐蝕:不處理上下兩行
  • 全方位腐蝕:不處理四周
            int Image[120][180];                   
                    memset(Image, 0, sizeof(Image));
                   
                //全方位腐蝕運算
                            for (int i = 1; i < Use_ROWS-1; i++)
                            {
                                for (int j = 1; j < Use_Line - 1; j++)
                                {
                                    if (Image_Use[i][j] == 255 &&
                                        Image_Use[i][j + 1] == 255 &&
                                        Image_Use[i][j - 1] == 255)
                                    {
                                        Image[i][j] = 255;
                                    }

                                }
                            }

 

膨脹運算

膨脹運算思路:定義結構元素(與模板類似),結構元素在整幅圖像中移動,移動到每個像素點上,如果結構元素與圖像上對應像素點的像素值至少有一個像素相等時,保留這個像素點的值。
膨脹運算作用:與腐蝕相反,對二值化物體邊界點擴充,將與物體接觸的所以背景點合并到該物體中,使邊界向外擴張。如果兩個物體之間的距離比較近,會把兩個物體連通到一起,對填補圖像分割后物體的空洞有用。

膨脹與腐蝕比較:

  • 膨脹:填充圖像中的小孔(比結構元素小的孔洞)及圖像邊緣處的小凹陷部分。
  • 腐蝕:消除圖像邊緣小的成分,并將圖像縮小,從而使其補集擴大。
  • 膨脹和腐蝕:并不互為逆運算,可以級聯(lián)結合使用。

膨脹運算

 

膨脹運算示意圖

 

膨脹運算c語言實現(xiàn)

  • 水平膨脹:不處理左右兩邊
  • 垂直膨脹:不處理上下兩行
  • 全方位膨脹:不處理四周
             int Image[120][180];                   
                    memset(Image, 0, sizeof(Image));
                   
                //全方位膨脹運算
                            for (int i = 1; i < Use_ROWS-1; i++)
                            {
                                for (int j = 1; j < Use_Line - 1; j++)
                                {
                                    if (Image_Use[i][j] == 255 ||
                                        Image_Use[i][j + 1] == 255 ||
                                        Image_Use[i][j - 1] == 255)
                                    {
                                        Image[i][j] = 255;
                                    }

                                }
                            }
在線客服 雙翌客服
客服電話
  • 0755-23712116
  • 13310869691