最近申请基金,想到一个idea,将常见的三维图片训练集处理为四维模糊图片,用四维图片训练集训练模型,比较新模型和旧模型的准确率。

  网上找了一大堆,有两个博客提出这个问题,下面的回复都没什么卵用。

  这里实现一个简单的四维矩阵存储多张一维图片例子,供大家参考。

  对于通道的定义,比如原图是RGB3通道,一千张图片放到四维矩阵,通道数还是3。

之前给的代码太繁琐,这里重新修改简化了,方便读者理解和实现。

read_file函数的作用就是读取文件夹下所有的猫狗图片,每读取一张,进行三种不同程度的高斯模糊之后,定义一个四维矩阵,将包括原图在内的四张图片添加到四维矩阵中,生成一张新的图片

def endwith(s,*endstring):resultArray = map(s.endswith,endstring)if True in resultArray:return Trueelse:return False
#猫狗数据集
def read_file(path):img_list = []label_list = []dir_counter = 0# 对路径下的所有子文件夹中的所有jpg文件进行读取并存入到一个list中for child_dir in os.listdir(path):child_path = os.path.join(path, child_dir)for dir_image in os.listdir(child_path):if endwith(dir_image, 'jpg'):img = Image.open(os.path.join(child_path, dir_image))#图片归一化处理img=img.resize((255,255))arr = np.asarray(img, dtype="float32")#高斯模糊处理image1 = img.filter(GaussianBlur(radius=1))arr1 = np.asarray(image1, dtype="float32")image2 = img.filter(GaussianBlur(radius=3))arr2 = np.asarray(image2, dtype="float32")image3 = img.filter(GaussianBlur(radius=5))arr3 = np.asarray(image3, dtype="float32")#合成四维矩阵,将图片逐个放到矩阵中new = np.empty((255, 255, 3, 4), dtype="float32")#最后一维是图片indexnew[:, :, :, 0] = arrnew[:, :, :, 1] = arr1new[:, :, :, 2] = arr2new[:, :, :, 3] = arr3img_list.append(new)label_list.append(dir_counter)dir_counter += 1# 返回的img_list转成了 np.array的格式img_list = np.array(img_list)return img_list, label_list

四维矩阵存储多张3维图片相关推荐

  1. 如何使用12tool二维码合成器将多张二维码图片生成一张动态GIF图?

    我们会有以下二维码合成单张GIF图的场景需求: 1.怎样把几张支付宝付款码合成一张动态的二维码图轮流切换然后扫描识别: 2.如何将几张微信名片二维码或者微信付款码.商家码合成一张动态的二维码图片: 3 ...

  2. 让一句话生成一张二维码图片

    让一句话生成一张二维码图片 使用了core.3.3.0.jar包,推荐maven 一共三步就可以完成 第一步:创建一个 输出流 第二步:画一个虚拟对象 第三步:二维码对象的信息写入文件 注释很清楚 p ...

  3. 用JAVA自己画一张二维码

    我们都知道,最近2年移动支付在中国堪称新四大发明之一. 二维码无处不在,特别是最近的支付宝扫码领红包,微信,qq,到处在发,阿里有点攻占腾讯移动支付市场的势头啊~博主忽然就对二维码是怎么画的有了点好奇 ...

  4. opencv resize_利用OpenCV 识别两张相似的图片

    Background: 在我们项目中,用到U-net,我们对训练样本图片使用labelme进行标定,对标定生成的json文件labelme_json_to_dataset生成标注图像,由于小伙伴将生成 ...

  5. opencv 取roi_利用OpenCV 识别两张相似的图片

    Background: 在我们项目中,用到U-net,我们对训练样本图片使用labelme进行标定,对标定生成的json文件labelme_json_to_dataset生成标注图像,由于小伙伴将生成 ...

  6. PCA在处理高维或低维图片样本中的应用

    看了好多关于PCA的博客以及几篇论文,终于对主成分分析有了一定的了解.PCA在人脸识别中的应用十分广泛,不管人脸图片是32*32的还是64*64的,这在我看来都是低维图片,如果把单个像素看成一个特征的 ...

  7. Python实现三维切片mat文件保存某一张切片的图片

    由于手中的数据是mat文件(我的数据是一组乳腺切片组成的三维数据),想要查看某一张切片的图片,又不想使用软件打开,因此需要利用脚本进行转换. A = sio.loadmat(r'41582_L_MLO ...

  8. 机器学习之数学基础(二)~数组、向量、矩阵、向量空间、二维矩阵

    1. 概述 在学习机器学习(machine learning)或模式识别(pattern recognition)过程中,我经常会困惑于向量.数组和矩阵这三种数据结构,而在学习张学工教授<模式识 ...

  9. Matlab(将2维图片显示成3维图形)

    前言 有时候为了将一张图片以3维的形式显示出来,可以采用matlab的强大绘图功能.这里的3维其中的两维当然就是图片的xy坐标了,第3维就是图片中对应坐标点的像素值.例如,在c/c++编程时有可能会遇 ...

最新文章

  1. SCOI2018 退役记
  2. java汽车租赁系统_汽车租赁公司全网低价
  3. 多线程,多进程,协程
  4. OpenCV Aruco模块常见问题解答
  5. How does framework require TechnicalInfo.js
  6. 数据轮播图翻页封装(左右点击)
  7. 网址出现error.aspx?aspxerrorpath=404.htm?aspxerrorpath=的原因及解决办法转
  8. 【Java】《Java面向对象编程的三大特性》阅读笔记
  9. 小米11顶配版屏幕参数曝光:2K 120Hz高刷屏支持运动补偿
  10. 生长区域算法的php实现
  11. 赖世雄英语学习三原则
  12. SQLAlchemy学习-1.环境准备与基础使用
  13. FlashFXP 连接centos
  14. 查找交换机IP笨方法
  15. 一个服务器多个网站收录效果,8个优化小技巧快速提高网站收录
  16. 疫情期间,找工作的一些建议
  17. 跃见非凡!华为Mate40系列国内发布4999元起
  18. 软件测试中的软件质量保证,软件质量保障全流程(上)
  19. Mockplus Cloud自动生成规格,Mockplus Cloud交互式动画原型
  20. 自动驾驶(三十四)---------可行驶区域检测

热门文章

  1. Alternate Realities大赛作品引发的思考(一)——用通俗的语言解释shader的渲染过程
  2. 谷歌浏览器扩展程序XDM_这才是谷歌浏览器的正确打开方式,有效节省内存占用,流畅飞起!...
  3. 三星半导体和三星显示在中国启动运营官方新媒体账号
  4. Linux复制文本快捷键
  5. ACL2022 | 文本生成的相关前沿进展
  6. 流程圣经:流程绩效管理
  7. 永磁同步电机无速度传感器控制(二)——脉振高频注入法(一)【位置估计原理】
  8. 五分钟快速了解FTX新IEO:IndiGG
  9. NodeJs卸载组件的方法
  10. BBC高清纪录片大全【值得收藏】