fre1228 2023-11-01 19:42 采纳率: 84.4%
浏览 23
已结题

编写一个Python代码,opencv剪刀石头布识别,识别到对应手势,运行特定代码


import cv2
# 读取图片并进行预处理
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
resized = cv2.resize(gray, (64, 64))
normalized = resized / 255.0
# 加载训练好的模型
model = cv2.ml.SVM_load('model.xml')
# 使用模型进行预测
result = model.predict(normalized.reshape(1, -1))[1]
# 根据识别结果执行特定代码
if result[0][0] > 0.5:
    # 执行剪刀相关代码
    print('剪刀')
    # 在这里添加剪刀相关代码的执行逻辑
elif result[0][1] > 0.5:
    # 执行石头相关代码
    print('石头')
    # 在这里添加石头相关代码的执行逻辑
else:
    # 执行布相关代码
    print('布')
    # 在这里添加布相关代码的执行逻辑

运行之后报这样的错。

  1. img


    不知道哪里出错了
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-11-01 19:42
    关注
     import cv2
    
    # 读取图片并进行预处理
    img = cv2.imread('test.jpg')
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    resized = cv2.resize(gray, (64, 64))
    normalized = resized / 255.0
    
    # 加载训练好的模型
    model = cv2.ml.SVM_load('model.xml')
    
    # 使用模型进行预测
    _, result = model.predict(normalized.reshape(1, -1))
    
    # 根据识别结果执行特定代码
    if result[0][0] > 0.5:
        # 执行剪刀相关代码
        print('剪刀')
        # 在这里添加剪刀相关代码的执行逻辑
    elif result[0][1] > 0.5:
        # 执行石头相关代码
        print('石头')
        # 在这里添加石头相关代码的执行逻辑
    else:
        # 执行布相关代码
        print('布')
        # 在这里添加布相关代码的执行逻辑
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 11月1日