cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\connectedcomponents.cpp:5623: error: (-215:Assertion failed) L.channels() == 1 && I.channels() == 1 in function 'cv::connectedComponents_sub1'
时间: 2023-07-03 10:08:00 浏览: 266
opencv-python-4.5.5-cp311-cp311-win-amd64.zip
这个错误通常是因为输入图像不是单通道的灰度图像而导致的。在调用 `cv2.connectedComponents()` 函数之前,您需要确保将图像转换为单通道的灰度图像。您可以使用 `cv2.cvtColor()` 函数将图像从彩色转换为灰度图像。以下是示例代码:
```
import cv2
# 读取彩色图像
img_color = cv2.imread('image.jpg')
# 将图像转换为灰度图像
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
# 进行连通组件分析
num_labels, labels = cv2.connectedComponents(img_gray)
```
请注意,在使用 `cv2.connectedComponents()` 函数之前,还可以通过使用 `cv2.threshold()` 函数对图像进行阈值处理来进一步增强图像的二值化效果。
阅读全文