为了账号安全,请及时绑定邮箱和手机立即绑定

猫也能明白 Day3 图像检测 方法一

标签:
Python

猫也能明白 Day3

在上一篇博客中介绍了对图像进行分类,接下来看如何对图像进行检测。

方法一: 使用代码扫描图片(不重叠)

## 第一步,与上一篇博客一样,首先部署深度学习网络
import time
import numpy as np # 用来存储数据
import matplotlib.pyplot as plt # 对结果进行可视化输出
import caffe # 深度学习框架
%matplotlib inline

MODEL_JOB_DIR = '工作目录'  ## 模型工作目录
DATASET_JOB_DIR = '数据集目录'  ## 数据集中目录

MODEL_FILE = MODEL_JOB_DIR + '/网络.prototxt'   # 深度学习网络结构描述文件
PRETRAINED = MODEL_JOB_DIR + '/权重.caffemodel' # 深度学习完成后的权重
MEAN_IMAGE = DATASET_JOB_DIR + '/均值图像.jpg'   # 均值图像,用来处理原始图像

# 配置GPU,以便于使用并行计算
caffe.set_mode_gpu()
# 初始化深度学习框架
net = caffe.Classifier(MODEL_FILE, PRETRAINED,
                       channel_swap=(2,1,0),
                       raw_scale=255,
                       image_dims=(256, 256))

# 读取均值图像
mean_image = caffe.io.load_image(MEAN_IMAGE)

## 读取需要扫描的图像
IMAGE_FILE = '需要扫描的图像.png'
input_image= caffe.io.load_image(IMAGE_FILE)

# 计算需要多少个256×256的图像
rows = input_image.shape[0]/256
cols = input_image.shape[1]/256

# 初始化
detections = np.zeros((rows,cols))

# 按照256×256的尺寸,不重叠的,扫描整个图片
start = time.time()
for i in range(0,rows):
    for j in range(0,cols):
        grid_square = input_image[i*256:(i+1)*256,j*256:(j+1)*256]
        # 减去均值图像
        grid_square -= mean_image
        # 预测图像
        prediction = net.predict([grid_square]) 
        detections[i,j] = prediction[0].argmax()
        
# 输出结果
plt.imshow(detections, interpolation=None)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消