PYNQ在PS端进行图片缩放

本文转载自: 硬码农二毛哥微信公众号

在完成PYNQ环境搭建后(zynq7035单板创建PYNQ镜像V2.6),本文介绍如何在PS端进行图片缩放。

导入图片

进入jupyter后,使用updload,将图片导入到\192.168.2.99\xilinx\jupyter_notebooks中。

导入Bit文件
将工程文件夹impl_1中的.bit文件,改名为system.bit。将sources_1\bd\system\hw_handoff中的.hwh和.tcl文件,改名为system.hwh和system.tcl。下载bit文件时需要用到这三个文件,PS端运行程序暂时不用。

进行图片缩放
在jupyter中新建ipynb文件,点击New-Python3。

在jupyter中进行图片缩放流程如下:

  • 导入库
  • 读取图片并显示
  • 缩小图片并显示
  • 计算缩小图片所用时间
  • 导入库文件

    from PIL import Image
    import numpy as np
    from IPython.display import display
    import cv2

    进行图片格式转换

    src = cv2.imread('2.jpg')
    print(src.shape)  //(288, 352, 3)
    cv2.imwrite('2.png',src)  //将jpg转换成png

    读取图片并显示
    创建图片对象

    image_path = "2.png"
    original_image = Image.open(image_path)
    original_image.load()
    input_array = np.array(original_image)

    显示

    input_image = Image.fromarray(input_array)
    display(input_image)

    原始图像大小

    old_width, old_height = original_image.size
    print("Image size: {}x{} pixels.".format(old_width, old_height)) //Image size: 352x288 pixels.

    缩小图片并显示
    图片缩小后大小28x28

    resized_image = original_image.resize((28, 28))

    显示缩小后图片

    output_array = np.array(resized_image)
    result = Image.fromarray(output_array)
    cv2.imwrite('s2.png',output_array) //将缩小后图片保存
    display(result)

    检测缩小后图片尺寸

    width, height = resized_image.size
    print("Resized image size: {}x{} pixels.".format(width, height))   //Resized image size: 28x28 pixels.

    计算缩小图片所用时间

    %%timeit
    resized_image = original_image.resize((new_width, new_height), Image.BILINEAR)

    输出

    100 loops, best of 3: 10.6 ms per loop

    参考: https://github.com/Xilinx/PYNQ-HelloWorld

    最新文章

    最新文章