python小波特征提取_长时间小波图像特征提取

我有几个目录,每个目录都有220个图像(已经有边框和去噪),我需要从这些目录中提取ML的特性。将每个图像转换为一个Numpy数组,并使用该数组生成一个使用pywavelts的小波。输出文件是一个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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AlexNet是一种经典的卷积神经网络模型,可以用于图像分类任务,同时也可以用于特征提取。以下是使用Python实现AlexNet进行特征提取的步骤: 1. 导入必要的库和模块: ```python import torch import torch.nn as nn import torchvision.models as models import torchvision.transforms as transforms ``` 2. 加载预训练的AlexNet模型: ```python alexnet = models.alexnet(pretrained=True) ``` 3. 定义特征提取器(去除AlexNet的最后一层全连接层): ```python class FeatureExtractor(nn.Module): def __init__(self, alexnet): super(FeatureExtractor, self).__init__() self.features = nn.Sequential( # 去除AlexNet的最后一层全连接层 *list(alexnet.features.children())[:-1] ) def forward(self, x): x = self.features(x) return x ``` 4. 加载需要提取特征的图片: ```python img_path = 'path/to/your/image' img = Image.open(img_path) ``` 5. 对图片进行预处理: ```python transform = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] ) ]) img = transform(img) ``` 6. 使用特征提取器提取特征: ```python feature_extractor = FeatureExtractor(alexnet) features = feature_extractor(img.unsqueeze(0)) ``` 其中,`img.unsqueeze(0)`是将图片转换为一批数据,以适应AlexNet模型的输入格式。 7. 最终得到的`features`就是提取出来的特征,可以用于后续的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值