gpt4 book ai didi

python - 如何将 Scikit Learn 分类器应用于大图像中的图 block /窗口

转载 作者:太空狗 更新时间:2023-10-30 02:55:19 26 4
gpt4 key购买 nike

Given 是 scikit learn 中经过训练的分类器,例如一个 RandomForestClassifier。分类器已经接受过大小样本的训练,例如25x25。

我如何轻松地将其应用于大图像(例如 640x480)中的所有图 block /窗口?

可以做的是(前面的代码慢!)

x_train = np.arange(25*25*1000).reshape(25,25,1000) # just some pseudo training data
y_train = np.arange(1000) # just some pseudo training labels
clf = RandomForestClassifier()
clf.train( ... ) #train the classifier

img = np.arange(640*480).reshape(640,480) #just some pseudo image data

clf.magicallyApplyToAllSubwindoes( img )

如何将 clf 应用于 img 中的所有 25x25 窗口?

最佳答案

也许您正在寻找类似 skimage.util.view_as_windows 的内容.请务必阅读文档末尾关于内存使用的警告。

如果使用 view_as_windows 对您来说是一种负担得起的方法,您可以通过像这样 reshape 返回的数组来神奇地从图像中的所有窗口生成测试数据:

import numpy as np
from skimage import io
from skimage.util import view_as_windows

img = io.imread('image_name.png')
window_shape = (25, 25)

windows = view_as_windows(img, window_shape)
n_windows = np.prod(windows.shape[:2])
n_pixels = np.prod(windows.shape[2:])

x_test = windows.reshape(n_windows, n_pixels)

clf.apply(x_test)

关于python - 如何将 Scikit Learn 分类器应用于大图像中的图 block /窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42790356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com