python怎么把findcontours的轮廓画出来
时间: 2023-10-08 13:06:35 浏览: 41
在 Python 中,可以使用 OpenCV 库的 `cv2.drawContours()` 函数来绘制 `findContours()` 函数找到的轮廓。
下面是一个简单的示例代码:
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(img, contours, -1, (0, 0, 255), 2)
# 显示图像
cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们先读取了一张图片,然后将其转换成灰度图,并进行二值化处理。接着,使用 `findContours()` 函数查找轮廓,并使用 `drawContours()` 函数将轮廓绘制在原图上。最后,使用 `imshow()` 函数显示图像。
相关问题
python怎么把findcontours的轮廓画出来,每条轮廓用不同的值表示
在 Python 中,可以使用 OpenCV 库的 `cv2.drawContours()` 函数来绘制 `findContours()` 函数找到的轮廓,并使用不同的颜色或值来表示不同的轮廓。
下面是一个示例代码,演示如何使用不同的颜色或值来表示不同的轮廓:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
color_img = np.zeros_like(img)
for i, cnt in enumerate(contours):
color = tuple(np.random.randint(0, 255, 3).tolist()) # 随机生成颜色
cv2.drawContours(color_img, [cnt], -1, color, 2)
# 显示图像
cv2.imshow('Contours', color_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们使用了 `np.random.randint()` 函数随机生成颜色,然后使用 `drawContours()` 函数将每个轮廓绘制在一张新的空白图像上,并使用不同的颜色来表示不同的轮廓。最后,使用 `imshow()` 函数显示图像。
python cv findContours
在Python中使用cv2.findContours函数可以用于检测图像中的轮廓。该函数接受的参数为二值图像,即黑白的(不是灰度图像)。首先需要将读取的图像转换为灰度图像,然后再将其转换为二值图像。接下来使用cv2.findContours函数来检测轮廓,该函数返回轮廓的列表。最后可以使用cv2.drawContours函数将轮廓绘制在原图上。\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [OpenCV-Python教程(11、轮廓检测)](https://blog.csdn.net/sunny2038/article/details/12889059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [【python】OpenCV—findContours](https://blog.csdn.net/bryant_meng/article/details/109514125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)