首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Python和Keras调整CSV数据的大小

使用Python和Keras调整CSV数据的大小
EN

Stack Overflow用户
提问于 2018-08-14 11:17:59
回答 4查看 1.7K关注 0票数 4

我有CSV文件,我需要提供给一个深度学习网络。目前,我的CSV文件大小为360*480,但网络限制它们的大小为224*224。我正在使用Python和Keras作为深度学习部分。那么我如何调整矩阵的大小呢?

我在想,既然高宽比是3:4,所以如果我把它们调整到224:(224*4/3) = 224:299,然后将矩阵的宽度裁剪到224,就可以达到这个目的。但我找不到合适的功能来做到这一点。请建议一下。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-15 22:40:02

我找到了一个简短而简单的方法来解决这个问题。这使用Python /https://pillow.readthedocs.io/en/latest/reference/Image.html/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import pylab as pl
from PIL import Image

matrix = np.array(list(csv.reader(open('./path/mat.csv', "r"), delimiter=","))).astype("uint8")  #read csv
imgObj = Image.fromarray(matrix)  #convert matrix to Image object
resized_imgObj = img.resize((224,224))  #resize Image object
imgObj.show()
resized_imgObj.show()
resized_matrix = np.asarray(img)  #convert Image object to matrix

虽然numpy模块也有一个调整尺寸函数,但是它没有前面提到的方法那么有用。

当我尝试的时候,调整大小的矩阵已经失去了原始矩阵的所有复杂和美学方面。这可能是因为numpy.ndarray.resize 没有插值,而缺失的条目中填充了零

因此,对于这种情况,Image.resize()更有用。

票数 2
EN

Stack Overflow用户

发布于 2018-08-14 11:22:55

如果你使用图片,我想你是在找cv.resize()。如果没有,请尝试numpy.ndarray.resize()

票数 2
EN

Stack Overflow用户

发布于 2018-08-14 12:03:23

图像处理

如果您想要对数据进行非平凡的图像更改(例如,在像素值之间进行插值,假设它们表示照片),那么您可能希望为此使用适当的图像处理库。您不需要将它们视为原始矩阵(数字的csv),而是将它们转换为rgb图像,进行您想要的转换,并将它们转换回一个numpy矩阵。

OpenCV (transformations.html)或Pillow (https://pillow.readthedocs.io/en/3.1.x/reference/Image.html)可能对此很有用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51848406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文