opencv 二值化处理
二值化處理圖像的最大缺點在于對于光照特別敏感
一 ?二值化處理函數double threshold( InputArray src, OutputArray dst,?double thresh, double maxval, int type );
第一個參數是輸入圖像
第二個參數是輸出圖像
第三個參數是設定的閾值
第四個參數是最大閾值
第五個是函數類型
--------其中函數類型有
CV_THRESH_BINARY, //表示如果當前像素點的灰度值大于閾值則將輸出圖像的對應位置像素值置為255,否則為0
CV_THRESH_BINARY_INV,//如果當前像素點灰度值大于閾值則將像素值置為0,否則為255
CV_THRESH_TRUNC, //如果像素值大于閾值則將閾值賦給當前像素,否則保證當前像素值不變
CV_THRESH_TOZERO,//如果當前灰度值大于閾值則用閾值代替當前灰度值,否則將灰度值置0
CV_THRESH_TOZERO_INV,//與上面相反,如果大于則為0,小于則為閾值
二:自適應閾值二值化//其閾值會跟隨像素值不同而改變
adaptiveThreshold(srcImage,dstImage,255,ADAPTIVE_THRESH_GAUSSIAN_C,THRESH_BINARY,5,5);
第三個參數是閾值最大值
第四個參數是閾值類型,ADAPTIVE_THRESH_GAUSSIAN_C--高斯,ADAPTIVE_THRESH_MEAN_C--中值,類似于濾波
第五個參數是像素取值類型與上面的一樣
第六個是領域范圍(內核大小),其只能取大于1的奇數
第七個是加權平均常數,最后通過高斯或中值濾波求得的像素值再減去這個加權平均后才是閾值
效果圖
總結
以上是生活随笔為你收集整理的opencv 二值化处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用geoda软件进行空间自相关分析示例
- 下一篇: TortoiseSVN中Branchin