使用小波进行图像特征提取的时间很长

时间:2018-04-16 20:05:14

标签: python image-processing machine-learning feature-extraction wavelet-transform

我有几个目录,每个目录有220张图像(已经采用边框并已经去噪),我需要为ML提取功能。我编写了一个python脚本,可以处理6个图像的目录。将每个图像转换为Numpy数组,并使用该数组使用PyWavelets生成Wavelet。输出文件为17,2MB,大约需要4分钟。对我来说似乎没问题。

但是当我运行相同的脚本(只改变字符串参数,因此目录是大的)时,它似乎保持无限循环或其他东西。我意识到220张图片需要花费更长的时间,但它会运行2:30小时并计数。看起来不对。当我试图查看文件大小(通过上下文菜单)时,它会在2,2MB到17,2MB之间变化并回到零。

我真正的问题是:我一直在等吗?

代码:

def csv_writer(data, path):
    np.set_printoptions(threshold=np.nan)
    with open(path, "w", newline='') as csv_file:
        writer = csv.writer(csv_file, delimiter=',')
        for line in data:
            writer.writerow(line)

def extractFeats():
    for image_path in os.listdir(path):
        input_path = os.path.join(path, image_path)
        image = io.imread(input_path)
        listOfArrays.append(image)
        coeffs = pywt.dwt2(image, 'haar')
        listOfCoeffs.append(coeffs)
        for element in listOfCoeffs:
            csv_writer(element,'trainTest.csv' )



Parallel(delayed(extractFeats()))

请注意,我正在使用joblib进行并列。想知道任何想法

0 个答案:

没有答案