IDLE怎么用训练好的UNET文件unet.h5分割图像
时间: 2024-02-02 15:03:55 浏览: 78
你可以使用以下代码在 Python 中加载训练好的 `unet.h5` 模型文件并用它来对图像进行分割:
```python
import cv2
import numpy as np
from keras.models import load_model
# 加载模型
model = load_model('unet.h5')
# 准备测试图像
img = cv2.imread('test_image.png', cv2.IMREAD_GRAYSCALE)
img = cv2.resize(img, (256, 256))
img = np.expand_dims(img, axis=-1)
img = img / 255.0
# 进行分割
pred = model.predict(np.array([img]))
# 可以根据需要对预测结果进行后处理,比如二值化、腐蚀、膨胀等
pred = np.squeeze(pred)
pred = np.where(pred > 0.5, 255, 0)
pred = np.uint8(pred)
# 保存预测结果
cv2.imwrite('segmented_image.png', pred)
```
在这段代码中,我们首先使用 `load_model` 函数加载模型文件,然后使用 OpenCV 加载测试图像,并将其预处理成适合输入模型的格式。接下来,我们使用模型的 `predict` 方法对图像进行分割,并对预测结果进行了二值化处理。最后,我们使用 OpenCV 将预测结果保存为图像文件。
请注意,这只是一个简单的示例,你可能需要根据自己的项目对其中的细节进行调整。
阅读全文