对于斑点检测,常常用来对图像中的某些特定目标进行检测,比如你可以用来统计图像中目标的数量,你可以依据目标在图像中的图像大小,目标的圆度、凸形等信息来进行筛选。
斑点检测
关于OpenCV中使用cv2.SimpleBlobDetector来进行斑点检测,你可以用来进行一些固定场景的检测使用,你可以通过设定前面提及的一些参数范围来进行筛选,这一点是很方便的。
# 利用区域的圆度来进行检测
import cv2
import numpy as np
img = cv2.imread('steel.png',-1)
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
bin_img = cv2.threshold(gray_img, 70, 255, cv2.THRESH_BINARY_INV)[1]
params = cv2.SimpleBlobDetector_Params()
#表示提取白色的色块,若需要提取黑色色块可以用0
params.blobColor = 255
#二值化的起始阈值
params.minThreshold = 0
#二值化的终止阈值
params.maxThreshold = 255
#控制blob的区域面积大小
params.filterByArea = True
params.minArea = 200
params.maxArea = 30000
#blob的圆度限制ÿ