# 斑马线检测 def Slow(img): kernel_Ero = np.ones((3,1),np.uint8) kernel_Dia = np.ones((5,1),np.uint8) copy_img = img.copy() copy_img = cv2.resize(copy_img,(1600,800)) count=0 # 图像灰度化 gray=cv2.cvtColor(copy_img,cv2.COLOR_BGR2GRAY) # 高斯滤波 imgblur=cv2.GaussianBlur(gray,(5,5),10) #阈值处理 mask = np.zeros_like(gray) mask[400:800,100:1600]=gray[400:800,100:1600] ret,thresh=cv2.threshold(mask,200,255,cv2.THRESH_BINARY) #腐蚀 img_Ero=cv2.erode(thresh,kernel_Ero,iterations=3) #膨胀 img_Dia=cv2.dilate(img_Ero,kernel_Dia,iterations=1)
时间: 2023-08-31 11:11:21 浏览: 125
基于python的opencv图像处理实现对斑马线的检测示例
这是一个使用Python和OpenCV库实现的斑马线检测函数。函数中主要使用了图像处理中的灰度化、高斯滤波、阈值处理、腐蚀和膨胀等操作。具体实现步骤如下:
1. 将输入的图像进行一次复制,并将其大小调整为1600x800像素,以便后续处理。
2. 将复制后的图像转换为灰度图像。
3. 对灰度图像进行高斯滤波,以去除噪声。
4. 对图像进行阈值处理,将斑马线和背景分离。这里使用的是简单阈值法,阈值为200。
5. 对阈值处理后的图像进行腐蚀操作,以去除斑马线上的噪点。
6. 对腐蚀后的图像进行膨胀操作,以使斑马线更加连续和明显。
该函数的输入为一个图像,输出为斑马线检测后的二值图像。
阅读全文