關於我自己

我的相片
累計超過15年的工作經驗,包括10年的設備製造業經驗,超過6年的光電零組件製造業經驗;10年的海外工作經驗,其中至今有5年以上的派駐經驗。 1.專注AOI檢測於10年以上(從光機設計、圖像分析、設備挑選、處理速度) 2.機器學習推論-onnx整合傳統演算法從瑕疵抓取、分析、分類 3.遷移式機器學習模式(工業應用、醫療應用) 4.整合:Python推論引擎、C++運算能力、C#友善介面 彈性使用 5.擅長利用專家模型推進專案,並熟悉使用OpenVINO、TensorRT、ONNXRUNTIME框架進行有效的實作與測試。

2011年10月6日 星期四

形態學運算中腐蝕,膨脹,開運算和閉運算

http://blog.csdn.net/cay22/article/details/5574159


形態學運算中腐蝕,膨脹,開運算和閉運算。
1. 腐蝕是一種消除邊界點,使邊界向內部收縮的過程。可以用來消除小且無意義的物體。
腐蝕的算法:
用3x3的結構元素,掃描圖像的每一個像素
用結構元素與其覆蓋的二值圖像做「與」操作
如果都為1,結果圖像的該像素為1。否則為0。
結果:使二值圖像減小一圈
2. 膨脹是將與物體接觸的所有背景點合並到該物體中,使邊界向外部擴張的過程。可以用來填補物體中的空洞。
膨脹的算法:
用3x3的結構元素,掃描圖像的每一個像素
用結構元素與其覆蓋的二值圖像做「與」操作
如果都為0,結果圖像的該像素為0。否則為1
結果:使二值圖像擴大一圈

3. 先腐蝕後膨脹的過程稱為開運算。用來消除小物體、在纖細點處分離物體、平滑較大物體的邊界的同時並不明顯改變其面積。
4. 先膨脹後腐蝕的過程稱為閉運算。用來填充物體內細小空洞、連接鄰近物體、平滑其邊界的同時並不明顯改變其面積。
 
// 腐蝕 的例子代碼
//使用水平方向的結構元素進行腐蝕
for(j = 0; j {    
     for(i = 1;i      {
          ...  
          //目標圖像中的當前點先賦成黑色
          *lpDst = (unsigned char)0;
          //如果源圖像中當前點自身或者左右有一個點不是黑色,
          //則將目標圖像中的當前點賦成白色
          for (n = 0;n < 3;n++ )
          {
               pixel = *(lpSrc+n-1);
               if (pixel == 255 )
               {
                    *lpDst = (unsigned char)255;
                    break;
               }
          }  
     }
}

沒有留言: