Thresholding
After removing the background, we only have to binarize the image for future segmentation. We are going to do this with threshold. Threshold is a simple function that sets each pixel's values to a maximum value (255, for example). If the pixel's value is greater than the threshold value or if the pixel's value is lower than the threshold value, it will be set to a minimum (0):

Now, we are going to apply the threshold function using two different threshold values: we will use a 30 threshold value when we remove the light/background because all non-interesting regions are black. This is because we apply background removal. We will also a medium value threshold (140) when we do not use a light removal method, because we have a white background. This last option is used to allow us to check the results with and without background removal:
// Binarize image for segment Mat img_thr; if(method_light!=2){ threshold(img_no_light, img_thr, 30, 255, THRESH_BINARY); }else{ threshold(img_no_light, img_thr, 140, 255, THRESH_BINARY_INV); }
Now, we are going to continue with the most important part of our application: the segmentation. We are going to use two different approaches or algorithms here: connected components and find contours.
- 大規模數據分析和建模:基于Spark與R
- 信息系統與數據科學
- App+軟件+游戲+網站界面設計教程
- Modern Programming: Object Oriented Programming and Best Practices
- Creating Mobile Apps with Sencha Touch 2
- 算法與數據中臺:基于Google、Facebook與微博實踐
- OracleDBA實戰攻略:運維管理、診斷優化、高可用與最佳實踐
- 跟老男孩學Linux運維:MySQL入門與提高實踐
- 從0到1:JavaScript 快速上手
- Construct 2 Game Development by Example
- Splunk智能運維實戰
- Visual FoxPro數據庫技術基礎
- Access數據庫開發從入門到精通
- 算力經濟:從超級計算到云計算
- 數據挖掘與機器學習-WEKA應用技術與實踐(第二版)