美文网首页
自动生成测试数据之图片篇

自动生成测试数据之图片篇

作者: 阿萨杂谈 | 来源:发表于2022-01-14 12:55 被阅读0次

    大家好,我是阿萨。测试过程中经常用到需要测试图片的地方。每次找不同的图片费时费力。所以就萌生了自己造测试数据的想法,因为最近一直用python 就在网上查看了python生成随机 图片的例子。 先讲一个失败的例子。

    自己查看了比较简单的图片生成代码:

    python随机生成图片

    #-*-coding:utf-8-*-

    import tensorflow as tf

    import numpy as np

    import cv2

    image = tf.random.uniform([200, 200, 3],minval=1,maxval=255, dtype=tf.int32)

    with tf.Session()as sess:

        myImage=sess.run(image)

        print(myImage)

        cv2.imwrite("test.jpg", myImage)

    结果啥都没有。这个具体问题分析还有点困难。因为时间关系,先不研究它失败的根因,等有时间了再详细分析下。各位如果有能发现问题的,也请私信告诉我。谢谢大家。

    那就再找找看有没有其他简单方便的图片生成代码呢?

    发挥搜索引擎的巨大优势。 发现PIL. Image是个好东西,可以打开,保存以及生成图片。并且可以生成纯色的图片。不像上面的随机生成的花里胡哨的噪音图片。觉得这个有戏。

    先看了下这个库比较简单的功能。

    主要有:

    open 打开图片

    rotate 旋转图片

    thumbnail 生成需要大小的缩略图

    blend 通过常量alpha在两个图像之间插入来创建新图像。

    new 创建具有给定模式和大小的新图像。

    fromarray 从导出数组接口的对象(使用缓冲区协议)创建图像内存。

    from bytes从缓冲区中的像素数据创建图像内存的副本。

    copy复制此图像。

    crop 返回图像中的矩形区域。框是定义左,上,右和下像素坐标的四元祖。

    show 显示此图片。主要用于调试。

    save在给定文件名下保存此图像

    方法太多了……大家感兴趣的自己查找资料学习下。

    重点看下这次我用的代码。

    def generateImage(imageCount, imagePath):

    COLORLIST = ['blue', 'green', 'purple', 'yellow', 'red', 'pink', 'palegoldenrod', 'palegreen', 'paleturquoise',

                    'palevioletred', 'papayawhip', 'peachpuff', 'peru',

                    'brown', 'beige', 'chocolate', 'gold', 'Lavender', 'maroon', 'Lightskyblue',

                    'orange', 'violet', 'lavender',

                    'white', 'ivory', 'gray', 'wheat', 'WhiteSmoke', 'yellowgreen', 'beige', 'lightpink', 'cyan',

                    'khaki', 'grey', 'navy', 'plum', 'powderblue', 'rosybrown']

    for iin range(imageCount):

    img = Image.new('RGBA', (640, 480), COLORLIST[i])

    img.save(imagePath +'/' + COLORLIST[i] +'.png')

    return True

    生成5张照片的截图如下:

    目标达成。

    相关文章

      网友评论

          本文标题:自动生成测试数据之图片篇

          本文链接:https://www.haomeiwen.com/subject/lasacrtx.html