卷积神经网络计算题试题_utils卷积神经网络.py

import skimage

import skimage.io

import skimage.transform

import numpy as np

# synset = [l.strip() for l in open('synset.txt').readlines()]

# returns image of shape [224, 224, 3]

# [height, width, depth]

def load_image(path):

# load image

img = skimage.io.imread(path)

img = img / 255.0

assert (0 &lt= img).all() and (img &lt= 1.0).all()

# print "Original Image Shape: ", img.shape

# we crop image from center

short_edge = min(img.shape[:2])

yy = int((img.shape[0] - short_edge) / 2)

xx = int((img.shape[1] - short_edge) / 2)

crop_img = img[yy: yy + short_edge, xx: xx + short_edge]

# resize to 224, 224

resized_img = skimage.transform.resize(crop_img, (224, 224))

return resized_img

# returns the top1 string

def print_prob(prob, file_path):

synset = [l.strip() for l in open(file_path).readlines()]

# print prob

pred = np.argsort(prob)[::-1]

# Get top1 label

top1 = synset[pred[0]]

print(("Top1: ", top1, prob[pred[0]]))

# Get top5 label

top5 = [(synset[pred[i]], prob[pred[i]]) for i in range(5)]

print(("Top5: ", top5))

return top1

def load_image2(path, height=None, width=None):

# load image

img = skimage.io.imread(path)

img = img / 255.0

if height is not None and width is not None:

ny = height

nx = width

elif height is not None:

ny = height

nx = img.shape[1] * ny / img.shape[0]

elif width is not None:

nx = width

ny = img.shape[0] * nx / img.shape[1]

else:

ny = img.shape[0]

nx = img.shape[1]

return skimage.transform.resize(img, (ny, nx))

def test():

img = skimage.io.imread("./test_data/starry_night.jpg")

ny = 300

nx = img.shape[1] * ny / img.shape[0]

img = skimage.transform.resize(img, (ny, nx))

skimage.io.imsave("./test_data/test/output.jpg", img)

if __name__ == "__main__":

test()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值