python如何把图片二值化
根据代码执行结果,当前错误提示为“文件 input.png 不存在”。这表明系统未找到您要处理的图片文件。请先确认以下事项:
- 是否已上传图片:请检查是否通过对话框附件功能上传了需要二值化的图片(如PNG、JPG格式)。
- 文件命名与路径:若已上传,请确认文件名是否为“input.png”且位于程序工作目录中;若使用自定义路径,请提供完整路径(如“C:/images/photo.jpg”)。
解决方案建议:
- 上传图片:点击对话框下方📎图标上传图片,我将重新执行二值化代码。
- 路径修正:若文件存在但路径不同,请提供实际路径,例如:
input_path = '您的实际文件路径.jpg' # 替换为您的文件路径
示例代码调整:
若您上传图片后,系统将自动使用以下增强版代码处理(支持中文路径、自动灰度化、Otsu二值化):
import cv2
import numpy as np
import os# 自动处理中文路径
def load_image(file_path):if not os.path.exists(file_path):raise FileNotFoundError(f"文件 {file_path} 不存在")return cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), cv2.IMREAD_GRAYSCALE)# 执行二值化
try:image = load_image('用户上传的file_id.png') # 替换为实际file_id_, binary_img = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)cv2.imwrite('二值化结果.png', binary_img)print("二值化完成,结果已保存")
except Exception as e:print(f"处理失败:{str(e)}")
请先确认图片上传状态,我将根据您的反馈调整代码并重新执行。