打开过程并将特定图像保存在相关文件夹中

澳洲蟒蛇

我正在寻找一种方法来打开和裁剪多个tiff图像,然后将在同一文件夹(与我的脚本文件夹相关)中创建的新裁剪的图像保存。

我当前的代码如下所示:

from PIL import Image
import os,platform

filespath = os.path.join(os.environ['USERPROFILE'],"Desktop\Python\originalImagesfolder")

for file in os.listdir(filespath):
    if file.endswith(".tif"):
        im = Image.open(file)
        im.crop((3000, 6600, 3700, 6750)).save(file+"_crop.tif")

该脚本向我返回错误:

追溯(最近一次通话):

文件“ C:\ Users ... \ Desktop \ Python \ script.py”,第22行,在im = Image.open(file)
文件“ C:\ Python34 \ lib \ site-packages \ PIL \ Image.py”行2219,在打开时fp = builtins.open(fp,“ rb”)FileNotFoundError:[Errno 2]没有这样的文件或目录:'Image1Name.tif'

“ Image1Name.tif”是我尝试在该文件夹中处理的第一个tif图像。我不知道该脚本如何在找不到文件的情况下给出文件名。有帮助吗?

PS:我有2天的python和一般代码经验。对不起,如果答案很明显

[编辑/更新]借助vttran和ChrisGuest的答案修改了我的初始代码后,将其转换为:

from PIL import Image
import os,platform

filespath = os.path.join(os.environ['USERPROFILE'],"Desktop\Python\originalImagesfolder")

for file in os.listdir(filespath):
    if file.endswith(".tif"):
        filepath = os.path.join(filespath, file)
        im = Image.open(filepath)
        im.crop((3000, 6600, 3700, 6750)).save("crop"+file)

该脚本向我返回了新的错误消息:

追溯(最近一次通话):
文件“ C:/ Users /.../ Desktop / Python / script.py”,第11行,位于im.crop((3000,6600,3700,6750))。save(“作物” +文件)
文件“ C:\ Python34 \ lib \ site-packages \ PIL \ Image.py”,行986,位于作物self.load()
文件“ C:\ Python34 \ lib \ site-packages \ PIL \加载self.load_prepare()中第166行的“ ImageFile.py”,
文件“ C:\ Python34 \ lib \ site-packages \ PIL \ ImageFile.py”中的第250行,在load_prepare中。self.im = Image.core.new( self.mode,self.size)ValueError:无法识别的模式

可能有用的信息,它是GeoTiff格式的Landsat8图像。因此,TIFF文件包含地理,投影...信息。如果我首先打开并使用Photoshop之类的软件(16int tiff格式)重新保存它们,则脚本可以很好地工作。

克里斯·嘉斯特

搜索文件名时,可以使用filespath指定目录。

但是,当您打开文件时,仅使用基本文件名。

所以你可以更换

im = Image.open(file)

filepath = os.path.join(filespath, file)
im = Image.open(filepath)

还可以考虑使用glob模块,您可以这样做glob.glob(r'path\*.tif)避免使用内置函数(如file变量名)也是一种好习惯

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

扫描图像并将其保存在特定的文件夹中

将图像保存在特定的sdcard文件夹中

将图像保存在特定的文件夹内,并将路径存储在mysql中,以便以后显示

从文件夹中获取特定文件并将它们保存在列表中

加载图像并将它们保存在项目的文件夹中

捕获景物并将其保存在文件夹中

如何从文件夹中读取所有图像并将同名图像保存在其他文件夹python中

在多个大图像上叠加一个小图像并将它们保存在不同的文件夹中

想要将图像保存到文件夹并将URL保存在数据库中

为什么春季上传的图像没有保存在特定的文件夹中?

将捕获的图像保存在SD卡上的特定文件夹中

我想从UIImageView swift 3将图像保存在特定的文件夹中

Android-将图像保存在特定的文件夹中

如何将图像保存在文件夹中?

图像未保存在文件夹中

图像未保存在文件夹中

从URL下载图像并将其保存在我的应用程序的drawable-hdpi文件夹中

如何让YOLO算法自动对图像运行检测并将它们保存在单独的文件夹中?

Google表格:将范围导出为PDF并将其保存在特定的子文件夹中

如何使用PHP打开zip文件中存在的文件夹并将内容/文件放入其中

如何编辑一组文件并保存在名称相关的文件夹中

从文件夹中获取多个图像并将图像名称保存到json数组

将图像保存在iOS相册(我的文件夹)中,并保存图像URL

如何上传文件并将其以原始名称保存在存储文件夹中

获取文件夹中特定文件的目录并将其保存到变量中

在特定文件夹中打开Cygwin

在特定文件夹中打开终端

图像路径保存在数据库中,但图像不在目标文件夹中

从多个文件夹打开附件,复制内容并保存在主文件表中