--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[66], line 32 30 seed = (100, 100) # 种子点 31 threshold = 10 # 阈值 ---> 32 output = region_grow(img, seed, threshold) 33 cv2.imshow('output', output) 34 cv2.waitKey(0) Cell In[66], line 6, in region_grow(img, seed, threshold) 5 def region_grow(img, seed, threshold): ----> 6 h, w = img.shape 7 output = np.zeros((h, w), dtype=np.uint8) 8 output[seed] = 255 ValueError: too many values to unpack (expected 2)报错
时间: 2023-08-15 12:16:08 浏览: 88
这个错误表明在代码中,img的shape属性返回的值不是一个二元组,而是包含多个值的元组。这可能是由于读取的图像不是灰度图像或者读取方式不正确导致的。可以尝试检查一下读取的图像是否正确以及使用正确的读取方式。
修改代码可以尝试如下:
```python
if __name__ == '__main__':
img = cv2.imread('test.jpg') # 读取彩色图像
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换为灰度图像
seed = (100, 100) # 种子点
threshold = 10 # 阈值
output = region_grow(img_gray, seed, threshold)
cv2.imshow('output', output)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,首先使用`cv2.imread()`函数读取彩色图像,然后使用`cv2.cvtColor()`函数将其转换为灰度图像。然后再调用`region_grow()`函数进行分割,并显示结果。
阅读全文