数据挖掘B题代码(部分)

2021.4.4 预处理图像数据
step1:将数据进行预处理,数据增强。(随机剪裁、旋转等)

  • 随机剪裁
  • 存图路径
  • 存图名称
  • 有些图不裁减
# -*- coding: utf-8 -*-
import os
import random
from PIL import Image

def read_path(file_pathname):
    #遍历该目录下的所有图片文件
    for filename in os.listdir(file_pathname):
        num = int(filename[-5])    #荧光相片不进行裁减(1-2.bmp、4-2.bmp)
    #这里的filename[-5]要加int(),不然默认为字符串(str)形式,在后续判断时,为布尔值判断!!!!!
        """filename[-5]代表了是否为荧光照片"""
        if (num == 1):  #对非荧光照片进行裁减
            im= Image.open(file_pathname+'/'+filename)
            img_size = im.size
            m = img_size[0]  # 读取图片的宽度
            n = img_size[1]  # 读取图片的高度
            w = 256  # 设置你要裁剪的小图的宽度
            h = 256  # 设置你要裁剪的小图的高度
            for i in range(1, 5):  # 裁剪为100张随机的小图
                 x = random.randint(0, m - w)  # 裁剪起点的x坐标范围
                 y = random.randint(0, n - h)  # 裁剪起点的y坐标范围
                 stem, suffix = os.path.splitext(filename)
                 name = stem  #重新命名,去掉后缀(.bmp),方便后续命名
                 region = im.crop((x, y, x + w, y + h))  # 裁剪区域
                 region.save(after_path+"/"+name + "_" + str(i) + ".jpg")  # str(i)是裁剪后的编号,此处是1到100
  """直接保存在工作路径region.save("1_1_"+str(i)+".jpg")"""
  """保存到指定路径【...(路径)+'/'+...(文件名)】"""
        else:
            continue 
         #这里是continue,如果是break,只要出现了(i!=1时循环完全结束)
            
before_path="/home/xyjin/PycharmProjects/data_mining/rock_test"
after_path="/home/xyjin/PycharmProjects/data_mining/rock_processed_test"
read_path(before_path)

  • 代码改进–把切割过程写成函数!

step2:制作自己的数据集,后续放入神经网络中训练。

出现的问题:把win10下的excel文件导入到Ubuntu20.04中,出现乱码。
原因:windows下文本编码为GBK,gedit默认为UTF-8所以中文会乱码
解决方法
在这里插入图片描述
解决之后:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值