打算将中间木箱以外的区域全部用掩膜覆盖,写了以下代码,运行时报错,请教是哪里的问题,该如何修改才能实现

代码如下:
import cv2
import numpy as np
读取图像
img = cv2.imread('sand.jpg')
获取显示窗口的大小
window_width = 800
window_height = 800
调整图像的尺寸
src = cv2.resize(img, (window_width, window_height))
转换为灰度图像
gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
使用Canny算法检测边缘
edges = cv2.Canny(gray, 100, 200)
对边缘进行膨胀操作,以强化边缘区域
edges_dilated = cv2.dilate(edges, None, iterations=3)
创建一个全黑的空白图像
mask = np.zeros_like(src)
在空白图像上绘制边缘,组成分割掩模
cv2.drawContours(mask, [edges_dilated], -1, (255, 255, 255), -1)
将分割掩模应用于原始图像,得到分割结果
segmented = cv2.bitwise_and(src, mask)
保存分割结果为图像文件
cv2.imwrite('output.jpg', segmented)
报错结果如下:
