图像处理脚本

时间:2013-01-24 13:08:01

标签: python

我有一个代码,我正在成功运行,但想要转换一个if语句,使其变得光滑。我希望它能够回到代码的开头,这样如果它无法打开图像,它就可以开始读取另一个图像。以下是代码。以上所有内容都是与数据库的连接并获取第一张图像

hDataset = gdal.Open( pszFilename, gdal.GA_ReadOnly ) 

    if hDataset is  None:

        print("gdalinfo failed - unable to open '%s'." % pszFilename )

         return 1

2 个答案:

答案 0 :(得分:0)

看一下使用while循环或for循环来实现你的目标。

例如,如果你有一个想要尝试打开的文件列表,那么类似下面的内容可能会有用:(这不是复制粘贴代码供你使用,只是一个例子)

succesfully_opened_datasets=[]
list_of_files=[a,list,of,filenames]
for image_filename in list_of_files:
    dataset=gdal.open(image_filename,gdal.GA_ReadOnly)
    if not dataset:
        print ("gdalinfo failed....")
    else:
        succesfully_opened_datasets.append(dataset)
return succesfully_opened_datasets

答案 1 :(得分:0)

不完全确定你在问什么,但你可以用发电机做类似的事情。

def open_images(*filenames):
    for fname in filenames:
        hDataset = fdal.Open(fname, gdal.GA_ReadOnly)

        if hDataset is not None:
            yield hDataset
        else:
            print("gdalinfo failed - unable to open '%s'." % fname)

 image_loader = open_images("a.jpg", "b.jpg")

 # to get the first image that opens correctly
 image = image_loader.next()

很抱歉,如果那不是您的目的。