hsplit\vsplit

原文链接:
简单来说:
print(np.vsplit(A, 3)) # vsplit 对数组按 进行分割
print(np.hsplit(A, 2)) # hsplit 对数组按 进行分割

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在您提供的代码中,有以下几处需要纠正的错误: 1. 第一行 `import cv2 import numpy as np` 应该改为两行代码: ``` import cv2 import numpy as np ``` 2. 第二行 `def hog(img):` 后面应该加上缩进。 3. 第三行 `hog = cv2.HOGDescriptor((20,20),(8,8), (4,4),(8,8),9,1,-1,0,0.2,1,64,True)`,其中参数的数量和顺序不对,应该改为: ``` hog = cv2.HOGDescriptor((20,20),(8,8),(4,4),(8,8),9,1,-1,0,0.2,True,64) ``` 4. 第四行 `hog_descriptor=hog.compute(img)`,缺少一个括号,应该改为: ``` hog_descriptor=hog.compute(img) ``` 5. 第五行 `hog_descriptor=np.squeeze(hog_descriptor)`,该行代码不需要缩进。 6. 第七行 `img = cv2.imread((r'C:\Users\Administrator\Pictures\Camera Roll\8.png',0)`,`cv2.imread` 函数中的路径需要加上一个括号,应该改为: ``` img = cv2.imread(r'C:\Users\Administrator\Pictures\Camera Roll\8.png',0) ``` 7. 第八行 `digits=[np.hsplit(row,100) for row in np.vsplit(img,50)]`,该行代码不需要缩进。 8. 第九行 `labels = np.repeat(np.arange(10),500)[:,np.newaxis]`,该行代码不需要缩进。 9. 第十行 `hogdata = [list(map(hog,row)) for row in digits]`,该行代码不需要缩进。 10. 第十一行 `trainData = np.float32(hogdata).reshape(-1,144)`,该行代码不需要缩进。 11. 第十二行 `svm = cv2.ml.SVM_create() #设置相关参数`,该行代码不需要缩进。 12. 第十三行 `svm.setKernel(cv2.ml.SVM_LINEAR) svm.setType(cv2.ml.SVM_C_SVC) svm.setC(2.67) svm.setGamma(5.383) svm.train(trainData, cv2.ml.ROW_SAMPLE, labels)`,该行代码中的多个函数调用应该分别放在一行,且需要缩进。 13. 第十五行 `test= cv2.imread(r'C:\Users\Administrator\Pictures\Camera Roll\6.png')`,该行代码不需要缩进。 14. 第十六行 `test_data=hog(test) test_data=test_data.reshape(1,144).astype(np.float32)`,该行代码中的两个函数调用应该分别放在一行,且需要缩进。 15. 第十七行 `result = svm.predict(test_data)[1]`,该行代码不需要缩进。 16. 第十八行 `print('识别结果:',np.squeeze(result))`,该行代码不需要缩进。 17. 第二十行 `test= cv2.imread('d8.jpg',0)`,该行代码不需要缩进。 18. 第二十一行 `test_data=hog(test) test_data=test_data.reshape(1,144).astype(np.float32)`,该行代码中的两个函数调用应该分别放在一行,且需要缩进。 19. 第二十二行 `result = svm.predict(test_data)[1]`,该行代码不需要缩进。 20. 第二十三行 `print('识别结果:',np.squeeze(result))`,该行代码不需要缩进。 纠正后的代码如下所示: ``` import cv2 import numpy as np def hog(img): hog = cv2.HOGDescriptor((20,20),(8,8),(4,4),(8,8),9,1,-1,0,0.2,True,64) hog_descriptor=hog.compute(img) hog_descriptor=np.squeeze(hog_descriptor) return hog_descriptor img = cv2.imread(r'C:\Users\Administrator\Pictures\Camera Roll\8.png',0) digits=[np.hsplit(row,100) for row in np.vsplit(img,50)] labels = np.repeat(np.arange(10),500)[:,np.newaxis] hogdata = [list(map(hog,row)) for row in digits] trainData = np.float32(hogdata).reshape(-1,144) svm = cv2.ml.SVM_create() svm.setKernel(cv2.ml.SVM_LINEAR) svm.setType(cv2.ml.SVM_C_SVC) svm.setC(2.67) svm.setGamma(5.383) svm.train(trainData, cv2.ml.ROW_SAMPLE, labels) test= cv2.imread(r'C:\Users\Administrator\Pictures\Camera Roll\6.png',0) test_data=hog(test) test_data=test_data.reshape(1,144).astype(np.float32) result = svm.predict(test_data)[1] print('识别结果:',np.squeeze(result)) test= cv2.imread('d8.jpg',0) test_data=hog(test) test_data=test_data.reshape(1,144).astype(np.float32) result = svm.predict(test_data)[1] print('识别结果:',np.squeeze(result)) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jasscical

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值