1.图像分割cv模型实验代码
时间: 2023-10-05 21:03:18 浏览: 46
下面给出一个示例的图像分割CV模型的实验代码:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('input.jpg')
# 将图像转为灰度图
gray = cv2.cvtColor(image, 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)
# 创建一个新的空白图像,用于绘制分割结果
segmented_image = np.zeros_like(image)
# 遍历每一个图像轮廓,并在空白图像上绘制出轮廓
for contour in contours:
cv2.drawContours(segmented_image, contour, -1, (0,255,0), 3)
# 显示原始图像和分割结果
cv2.imshow('Original', image)
cv2.imshow('Segmented', segmented_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码的实验目的是将一张输入图像进行图像分割,通过对图像的二值化和轮廓提取,可以将图像中的物体分离出来,并在空白图像上绘制出物体的边界。这个示例使用OpenCV库实现图像处理功能,首先将图像转为灰度图,然后通过设置合适的阈值进行二值化处理,接着通过findContours函数找到图像中的轮廓,并在空白图像上绘制出轮廓。最后,通过imshow函数展示原始图像和分割结果。
为了运行这个代码,你需要将输入图像保存为名为`input.jpg`的文件,并且确保已经安装了OpenCV库。