任务简述
今天使用opencv 做了一个计算机视觉任务:
源图像如下
检测的目标为红框圈选的白色点
思路简述
首先是提取出这两个白色小点在的圆环,然后在此圆环之中使用阈值函数就可以看到提取出来的噪声点。如果要在源图像之中标注出来噪声点的话需要使用斑点检测算子。
源程序
void process(){
Mat source = imread(""); //从磁盘之中读取图片
Mat circleROI; //定义圆环ROI
Mat roi1, roi2, roi;
//三个变量都按照source的尺寸初始化为零,
roi1 = Mat::zeros(mat.size(), CV_8UC1);
roi2 = Mat::zeros(mat.size(), CV_8UC1);
roi = Mat::zeros(mat.size(), CV_8UC1);
//在源图像之中画圆,圆的位置和尺寸是手工计算出来的
//circle()函数的最后一个参数-1表示为区域都填充为RGB(255, 255, 255)
circle(roi1, Point(1570, 1105), 610, CV_RGB(255, 255, 255), -1);
circle(roi2, Point(1570, 1105), 500, CV_RG