gpt4 book ai didi

python - 如何从我的主目录读取图像并调整它的大小

转载 作者:太空宇宙 更新时间:2023-11-03 21:40:51 25 4
gpt4 key购买 nike

我正在尝试读取图像并在我的主目录文件中调整图像的大小但没有成功请帮助如何读取图像并调整它的大小。

    import cv2
from PIL import Image
img = cv2.resize(cv2.read('C://Users//NanduCn//jupter1//train-scene classification//train"', (28, 28)))


---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-103-dab0f11a9e2d> in <module>()
1 import cv2
2 from PIL import Image
----> 3 img = cv2.resize(cv2.read('C://Users//NanduCn//jupter1//train-scene classification//train"', (28, 28)))

AttributeError: module 'cv2.cv2' has no attribute 'read'

最佳答案

读取特定扩展的所有图像,例如"*.png",可以使用cv::glob函数

void loadImages(const std::string& ext, const std::string& path, std::vector<cv::Mat>& imgs, const int& mode)
{
std::vector<cv::String> strBuffer;
cv::glob(cv::String{path} + cv::String{"/*."} + cv::String{ext}, strBuffer, false);

for (auto& it : strBuffer)
{
imgs.push_back(cv::imread(it, mode));
}
}

std::vector<cv::Mat> imgs;
loadImages("*.png", "/home/img", imgs, cv::IMREAD_COLOR);

然后调整缓冲区中每个图像的大小

for (auto& it : imgs)
{
cv::resize(it, it, cv::Size{WIDTH, HEIGHT});
}

重写为 python 应该很容易,因为几乎所有函数/数据类型在 python 中都有等效项。

filenames = glob("/home/img/*.png").sort()
images = [cv2.imread(img) for img in filenames]

for img in images:
cv2.resize(img, (WIDTH, HEIGHT))

代码被分成几部分而不是一行,因为它更具可读性,至少对我而言。

关于python - 如何从我的主目录读取图像并调整它的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53849669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com