當前位置:編程學習大全網 - 網站源碼 - OpenCv如何檢測黑點?

OpenCv如何檢測黑點?

Mat src = imread(...圖片路徑);

Mat src_gray;// 保存灰度圖

Mat src_binary;// 保存二值圖

int Threshold1 = 100;// 閥值

int Threshold2 = 255;

cvtColor(src, src_gray, CV_BGR2GRAY);

threshold(src_gray, src_binary, Threshold1, Threshold2, CV_THRESH_BINARY);

// 反色(黑色背景)

// bitwise_not(src_binary, src_binary);

// 查找圖像的所有輪廓

vector<vector<Point>> contours_temp;

findContours(src_binary, contours_temp, RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0, 0));

// 篩選的面積限定值

double min_area = 100;

// 篩選輪廓

for (int i = 0; i < contours_temp.size(); i++)

{

// 第i個輪廓的面積,

// false:表示某壹個方向上輪廓的的面積值,順時針或者逆時針,壹般選擇默認false

double contour_area = contourArea(contours_temp[i], false);

// 如果該輪廓的面積小於限定值,那麽就判定為黑點

if (contour_area < min_area)

{

...

}

}

  • 上一篇:java寫的壹段程序,輸出結果全是問號,請高手指教
  • 下一篇:org.apache.maven.plugin.mojoexecutionexception怎麽回事
  • copyright 2024編程學習大全網