以下是复制此问题的代码片段:
`导入cv2 来自 grt import FeatureExtraction、ClassificationModel、Pipeline 将 numpy 导入为 np
#定义特征提取模块
feature_extractor =特征提取( FeatureExtraction.Hands, FeatureExtraction.PyramidSpatialBinning, 特征提取.HOGFeatures )
#定义分类模块
classification_model = 分类模型( 分类模型.SVM, kernel_type=ClassificationModel.RBF_KERNEL, 伽玛=0.5, C=1.0 )
#创建连接模块的管道
管道=管道([ 特征提取器, 分类模型 ])
#加载训练数据
training_data = Pipeline.loadDatasetFromFile("hand_gestures.grt")
#在数据上训练管道
如果不是 pipeline.train(training_data): 打印(“错误:无法训练管道!”) 出口(1)
#初始化相机
cap = cv2.VideoCapture(0)
虽然正确: #从相机中捕获一帧 ret, 框架 = cap.read() 如果不退: 打印(“错误:无法从相机捕获帧!”) 休息
#预处理图像 灰色 = cv2.cvtColor(帧,cv2.COLOR_BGR2GRAY) 模糊 = cv2.GaussianBlur(灰色, (5, 5), 0) edges = cv2.Canny(模糊, 50, 150)
#检测手势 pipeline.predict(np.reshape(边, (1, -1)))
#用预测的手势显示图片 cv2.imshow("手势识别", frame)
#检查用户输入以退出 键 = cv2.waitKey(1) if key == 27: # 退出键 休息
#释放相机并关闭窗口
cap.release() cv2.destroyAllWindows()
我期待它能正确捕捉视频,然后正确分割每个部分,但它给出了一个错误:
ImportError:无法从“grt”导入名称“FeatureExtraction”