2020.3.10使用vscode改程序总结(dnn_blob\blob_from_images.py)

1、放文件的路径,一定一定不要出现中文!
2、许多提示xx文件打不开,一般是路径错了,特别是不在默认文件夹下打开的文件,代码里直接放的文件统统都要改成路径。
3、提示 无法将“python”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
https://blog.csdn.net/qq_41650733/article/details/87902873
按照这个链接里的步骤去做。
4、提示 module ‘cv2’ has no ‘imread’ member等一系列类似错误,
可以在代码的开头加上注释,# pylint: disable=no-member。(这个错误也弄了好久才解决)
https://www.cnblogs.com/Ghost4C-QH/p/9488348.html
按照这个链接去做。
5、我的vscode一定从anaconda中打开。

搞了一晚上,今天代码才可以运行。

# pylint: disable=no-member
# 导入工具包
import utils_paths
import numpy as np
import cv2 

# 标签文件处理
rows = open(r"E:\xuexi\opencv_python__version\dnn_blob\synset_words.txt").read().strip().split("\n")classes = [r[r.find(" ") + 1:].split(",")[0] for r in rows]

# Caffe所需配置文件
net = cv2.dnn.readNetFromCaffe(r"E:\xuexi\opencv_python__version\dnn_blob\bvlc_googlenet.prototxt",    r"E:\xuexi\opencv_python__version\dnn_blob\bvlc_googlenet.caffemodel")

# 图像路径
imagePaths = sorted(list(utils_paths.list_images(r"E:\xuexi\opencv_python__version\dnn_blob\images")))

# 图像数据预处理
image = cv2.imread(imagePaths[1])resized = cv2.resize(image, (224, 224))
# image scalefactor size mean swapRB 
blob = cv2.dnn.blobFromImage(resized, 1, (224, 224), (104, 117, 123))
print("First Blob: {}".format(blob.shape))

# 得到预测结果
net.setInput(blob)preds = net.forward()

# 排序,取分类可能性最大的
idx = np.argsort(preds[0])[::-1][0]
text = "Label: {}, {:.2f}%".format(classes[idx],    preds[0][idx] * 100)
cv2.putText(image, text, (5, 25),  cv2.FONT_HERSHEY_SIMPLEX,    0.7, (0, 0, 255), 2)

# 显示
cv2.imshow("Image", image)
cv2.waitKey(0)

# Batch数据制作
images = []

# 方法一样,数据是一个batch
for p in imagePaths[1:]:
    image = cv2.imread(p)
    image = cv2.resize(image, (224, 224))
    images.append(image)
    
# blobFromImages函数,注意有s
blob = cv2.dnn.blobFromImages(images, 1, (224, 224), (104, 117, 123))
print("Second Blob: {}".format(blob.shape))

# 获取预测结果
net.setInput(blob)
preds = net.forward()
for (i, p) in enumerate(imagePaths[1:]):
    image = cv2.imread(p)    
    idx = np.argsort(preds[i])[::-1][0]    
    text = "Label: {}, {:.2f}%".format(classes[idx], preds[i][idx] * 100)    				  
    cv2.putText(image, text, (5, 25),  cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)    
cv2.imshow("Image", image)    
cv2.waitKey(0)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值