天天看點

“大腦”生長系列(三)

“大腦”生長系列(三)

二值化

二值化就是将圖像上的像素點的灰階值設定為0或255,通過一個門檻值來判斷,假設像素的值大于100設為255,小于100設為0便是一種政策。

二值化的基于灰階圖去做改變,是以所占用的資料空間較小。同時二值化凸顯出了圖形圖像的輪廓,友善于後續基于圖像的一些算法處理。

“大腦”生長系列(三)

OpenCV提供的二值化接口

double threshold( InputArray src, OutputArray dst,

double thresh, double maxval, int type )

參數

  • src: 輸入圖像資料
  • dst:輸出圖像資料
  • thresh:門檻值
  • maxval:二值化範圍的像素表示最大值
  • type:二值化的類型

例:threshold(gray, bin, 100, 255, THRESH_BINARY);

代碼示例

int main(int argc, char *argv[])
{
 Mat src = imread("3.jpg");
 Mat gray; 
 Mat bin;
 Mat ibin;
 cvtColor(src, gray, COLOR_BGR2GRAY);
 //二進制門檻值化
 threshold(gray, bin, 100, 255, THRESH_BINARY);
 //反二進制門檻值化
 threshold(gray, ibin, 100, 255, THRESH_BINARY_INV);
 namedWindow("src");
 namedWindow("bin");
 namedWindow("ibin");
 imshow("src", src);
 imshow("bin", bin);
 imshow("ibin", ibin);
 waitKey(0);
 return 0;
}
           

複制

效果圖要仔細看哦

“大腦”生長系列(三)
“大腦”生長系列(三)
“大腦”生長系列(三)