如何加载python中的图像序列?
How to load the sequence of image in python?
import S1-T1-C.00000
Image.open('C:/Users/Vims/Desktop/7th sem/ISA/Lab_1/sequence/sequence')
我有一组图像序列或视频。我想加载 python 代码。我该怎么做?之后我将对图像进行背景减法。
图像序列从S1-T1-C.00000到S1-T1-C.00999.
在所有情况下你都需要 for
-循环。
如果你不知道名字那么你可以使用 os.listdir(folder)
来获取文件夹中的所有文件名(你也可以使用 sorted()
让它们按正确的顺序排列)然后你必须阅读每个图像单独
all_images = []
folder = "C:/folder/with/images"
for filename in sorted(os.listdir(folder)):
full_path = os.path.join(folder, filename)
img = Image.open(full_path)
all_images.append( img )
如果您知道文件名,那么您可以使用 string formatting
或 f-string
all_images = []
folder = "C:/folder/with/images"
for number in range(0, 1_000):
filename = f"S1-T1-C.{number:05}"
full_path = os.path.join(folder, filename)
img = Image.open(full_path)
all_images.append( img )
顺便说一句:
如果您在多个文件夹中有图像,则可能需要嵌套 for
-loops
all_images = []
base_folder = "C:/folder/with/images"
for foldername in os.listdir(base_folder):
folder = os.path.join(base_folder, foldername)
for filename in sorted(os.listdir(folder)):
full_path = os.path.join(folder, filename)
img = Image.open(full_path)
all_images.append( img )
如果可以有一些其他的 files/folders 那么每个版本可能需要一些 if/else
来过滤 files/folders
还有模块glob
可以用*
匹配多个files/folders
all_filenames = glob.glob("*/S1-T1-C.*")
for filename in all_filenames:
# ... code ...
import S1-T1-C.00000
Image.open('C:/Users/Vims/Desktop/7th sem/ISA/Lab_1/sequence/sequence')
我有一组图像序列或视频。我想加载 python 代码。我该怎么做?之后我将对图像进行背景减法。
图像序列从S1-T1-C.00000到S1-T1-C.00999.
在所有情况下你都需要 for
-循环。
如果你不知道名字那么你可以使用 os.listdir(folder)
来获取文件夹中的所有文件名(你也可以使用 sorted()
让它们按正确的顺序排列)然后你必须阅读每个图像单独
all_images = []
folder = "C:/folder/with/images"
for filename in sorted(os.listdir(folder)):
full_path = os.path.join(folder, filename)
img = Image.open(full_path)
all_images.append( img )
如果您知道文件名,那么您可以使用 string formatting
或 f-string
all_images = []
folder = "C:/folder/with/images"
for number in range(0, 1_000):
filename = f"S1-T1-C.{number:05}"
full_path = os.path.join(folder, filename)
img = Image.open(full_path)
all_images.append( img )
顺便说一句:
如果您在多个文件夹中有图像,则可能需要嵌套 for
-loops
all_images = []
base_folder = "C:/folder/with/images"
for foldername in os.listdir(base_folder):
folder = os.path.join(base_folder, foldername)
for filename in sorted(os.listdir(folder)):
full_path = os.path.join(folder, filename)
img = Image.open(full_path)
all_images.append( img )
如果可以有一些其他的 files/folders 那么每个版本可能需要一些 if/else
来过滤 files/folders
还有模块glob
可以用*
匹配多个files/folders
all_filenames = glob.glob("*/S1-T1-C.*")
for filename in all_filenames:
# ... code ...