cv::Mat img = cv::imread("C:\\Users\\98720\\Desktop\\111.png", cv::IMREAD_GRAYSCALE);我应该怎么改
时间: 2023-07-31 10:06:04 浏览: 58
你可以尝试使用以下代码将图像转换为CV_8U深度:
```python
cv::Mat img = cv::imread("C:\\Users\\98720\\Desktop\\111.png", cv::IMREAD_GRAYSCALE);
if (img.empty()) {
// 处理无法读取图像的情况
return -1;
}
cv::Mat img_8u;
img.convertTo(img_8u, CV_8U);
```
在这段代码中,我们首先使用`imread`函数读取灰度图像,并将其存储在`img`中。然后,我们检查图像是否成功读取,如果图像为空,则可能是无法找到或读取图像文件。
接下来,我们使用`convertTo`函数将图像转换为CV_8U深度,并将结果存储在`img_8u`中。这将确保图像的深度正确,并且可以传递给`connectedComponents`函数。
如果你需要进一步处理这个图像,可以使用`img_8u`代替`img`进行后续操作。
请注意,以上代码是使用C++编写的,如果你是使用Python编写的代码,请使用相应的Python OpenCV函数进行图像深度转换。