當前位置: 首頁>>代碼示例>>Python>>正文


Python skimage.feature方法代碼示例

本文整理匯總了Python中skimage.feature方法的典型用法代碼示例。如果您正苦於以下問題:Python skimage.feature方法的具體用法?Python skimage.feature怎麽用?Python skimage.feature使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在skimage的用法示例。


在下文中一共展示了skimage.feature方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: compute_hog

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def compute_hog(depc, cid_list, config=None):
    """
    Doctest:
        >>> from ibeis.core_annots import *  # NOQA
        >>> ibs, depc, aid_list = testdata_core()
        >>> chip_config = {}
        >>> config = HOGConfig()
        >>> cid_list = depc.get_rowids('chips', aid_list, config=chip_config)
        >>> hoggen = compute_hog(depc, cid_list, config)
        >>> hog = list(hoggen)[0]
        >>> ut.quit_if_noshow()
        >>> import plottool_ibeis as pt
        >>> hog_image = make_hog_block_image(hog, config)
        >>> ut.show_if_requested()
    """
    import skimage.feature
    orientations = config['orientations']

    ut.assert_all_not_None(cid_list, 'cid_list')
    chip_fpath_list = depc.get_native(
        'chips', cid_list, 'img', read_extern=False)

    for chip_fpath in chip_fpath_list:
        chip = vt.imread(chip_fpath, grayscale=True) / 255.0
        hog = skimage.feature.hog(chip, feature_vector=False,
                                  orientations=orientations,
                                  pixels_per_cell=(16, 16), cells_per_block=(1, 1))
        yield (hog,) 
開發者ID:Erotemic,項目名稱:ibeis,代碼行數:30,代碼來源:core_annots.py

示例2: _calculate

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def _calculate(self):
        instance = np.zeros((self.dataset_size, self.HOG_DIM))
        for i, info in enumerate(self.dataset.get_all_images(cropped=True)):
            img = caffe.io.load_image(info['img_file'])
            img_g = skimage.color.rgb2gray(img)
            img_r = skimage.transform.resize(img_g, self.HOG_RESIZE)

            instance[i, :] = skimage.feature.hog(img_r, orientations=9, pixels_per_cell=(8, 8), cells_per_block=(2, 2))
        return instance 
開發者ID:yassersouri,項目名稱:omgh,代碼行數:11,代碼來源:cub_utils.py

示例3: __init__

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def __init__(self, feature, blob_object, **blob_parameters):
        self.feature = self._parse_features(feature, default_feature_type=FeatureType.DATA, new_names=True,
                                            rename_function='{}_BLOB'.format)

        self.blob_object = blob_object
        self.blob_parameters = blob_parameters 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:8,代碼來源:blob.py

示例4: execute

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def execute(self, eopatch):
        """ Execute computation of blobs on input eopatch

        :param eopatch: Input eopatch
        :type eopatch: eolearn.core.EOPatch
        :return: EOPatch instance with new key holding the blob image.
        :rtype: eolearn.core.EOPatch
        """
        for feature_type, feature_name, new_feature_name in self.feature:
            eopatch[feature_type][new_feature_name] = self._compute_blob(
                eopatch[feature_type][feature_name].astype(np.float64)).astype(np.float32)

        return eopatch 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:15,代碼來源:blob.py

示例5: _compute_hog

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def _compute_hog(self, data):
        results_im = np.empty((data.shape[0],
                               (int(data.shape[1] // self.pixels_per_cell[0]) - self.cells_per_block[0] + 1) *
                               self.cells_per_block[0],
                               (int(data.shape[2] // self.pixels_per_cell[1]) - self.cells_per_block[1] + 1) *
                               self.cells_per_block[1], self.n_orientations), dtype=np.float)
        if self.visualize:
            im_visu = np.empty(data.shape[0:3] + (1,))
        for time in range(data.shape[0]):
            multi_channel = data.shape[-1] != 1
            image = data[time] if multi_channel else data[time, :, :, 0]
            res, image = skimage.feature.hog(image, orientations=self.n_orientations,
                                             pixels_per_cell=self.pixels_per_cell, visualize=self.visualize,
                                             cells_per_block=self.cells_per_block, block_norm=self.block_norm,
                                             feature_vector=self.hog_feature_vector, multichannel=multi_channel)
            if self.visualize:
                im_visu[time, :, :, 0] = image
            for block_row in range(res.shape[0]):
                for block_col in range(res.shape[1]):
                    for cell_row in range(res.shape[2]):
                        for cell_col in range(res.shape[3]):
                            row = block_row * self.cells_per_block[0] + cell_row
                            col = block_col * self.cells_per_block[1] + cell_col
                            for angle in range(res.shape[4]):
                                results_im[time, row, col, angle] = res[block_row, block_col, cell_row, cell_col, angle]
        return results_im, im_visu 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:28,代碼來源:hog.py

示例6: execute

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def execute(self, eopatch):
        """ Execute computation of HoG features on input eopatch

            :param eopatch: Input eopatch
            :type eopatch: eolearn.core.EOPatch
            :return: EOPatch instance with new keys holding the HoG features and HoG image for visualisation.
            :rtype: eolearn.core.EOPatch
        """
        for feature_type, feature_name, new_feature_name in self.feature:
            result = self._compute_hog(eopatch[feature_type][feature_name])
            eopatch[feature_type][new_feature_name] = result[0]
            if self.visualize:
                eopatch[feature_type][self.visualize_name] = result[1]

        return eopatch 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:17,代碼來源:hog.py

示例7: __init__

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def __init__(self, feature, nb_points=24, radius=3):

        self.feature = self._parse_features(feature, default_feature_type=FeatureType.DATA, new_names=True,
                                            rename_function='{}_LBP'.format)

        self.nb_points = nb_points
        self.radius = radius
        if nb_points < 1 or radius < 1:
            raise ValueError('Local binary pattern task parameters must be positives') 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:11,代碼來源:local_binary_pattern.py

示例8: _compute_lbp

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def _compute_lbp(self, data):
        result = np.empty(data.shape, dtype=np.float)
        for time in range(data.shape[0]):
            for band in range(data.shape[-1]):
                image = data[time, :, :, band]
                result[time, :, :, band] = skimage.feature.local_binary_pattern(image, self.nb_points, self.radius,
                                                                                method='uniform')
        return result 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:10,代碼來源:local_binary_pattern.py

示例9: execute

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def execute(self, eopatch):
        """ Execute computation of local binary patterns on input eopatch

            :param eopatch: Input eopatch
            :type eopatch: eolearn.core.EOPatch
            :return: EOPatch instance with new key holding the LBP image.
            :rtype: eolearn.core.EOPatch
        """
        for feature_type, feature_name, new_feature_name in self.feature:
            eopatch[feature_type][new_feature_name] = self._compute_lbp(eopatch[feature_type][feature_name])

        return eopatch 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:14,代碼來源:local_binary_pattern.py

示例10: _calculate_haralick

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def _calculate_haralick(self, data):
        result = np.empty(data.shape, dtype=np.float)
        # For each date and each band
        for time in range(data.shape[0]):
            for band in range(data.shape[3]):
                image = data[time, :, :, band]
                image_min, image_max = np.min(image), np.max(image)
                coef = (image_max - image_min) / self.levels
                digitized_image = np.digitize(image, np.array([image_min + k * coef for k in range(self.levels - 1)]))

                # Padding the image to handle borders
                pad = self.window_size // 2
                digitized_image = np.pad(digitized_image, ((pad, pad), (pad, pad)), 'edge')
                # Sliding window
                for i in range(0, image.shape[0], self.stride):
                    for j in range(0, image.shape[1], self.stride):
                        window = digitized_image[i: i + self.window_size, j: j + self.window_size]
                        glcm = skimage.feature.greycomatrix(window, [self.distance], [self.angle], levels=self.levels,
                                                            normed=True, symmetric=True)

                        if self.texture_feature in self.AVAILABLE_TEXTURES_SKIMAGE:
                            res = skimage.feature.greycoprops(glcm, self.texture_feature)[0][0]
                        else:
                            res = self._custom_texture(glcm[:, :, 0, 0])

                        result[time, i, j, band] = res
        return result 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:29,代碼來源:haralick.py

示例11: execute

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def execute(self, eopatch):

        for feature_type, feature_name, new_feature_name in self.feature:
            eopatch[feature_type][new_feature_name] = self._calculate_haralick(eopatch[feature_type][feature_name])

        return eopatch 
開發者ID:sentinel-hub,項目名稱:eo-learn,代碼行數:8,代碼來源:haralick.py

示例12: getGray

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def getGray(img, hueValue=63, threshold=0):
    """Returns the grayscale of the source image with its background
    removed as a 1D feature vector."""

    img = removeBackground(img, hueValue, threshold)

    img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY).astype(np.float32) / 255

    return img.ravel() 
開發者ID:DrGFreeman,項目名稱:rps-cv,代碼行數:11,代碼來源:imgproc.py

示例13: _init_coords

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def _init_coords(self):
    logging.info('peaks: starting')

    # Edge detection.
    edges = ndimage.generic_gradient_magnitude(
        self.canvas.image.astype(np.float32),
        ndimage.sobel)

    # Adaptive thresholding.
    sigma = 49.0 / 6.0
    thresh_image = np.zeros(edges.shape, dtype=np.float32)
    ndimage.gaussian_filter(edges, sigma, output=thresh_image, mode='reflect')
    filt_edges = edges > thresh_image

    del edges, thresh_image

    # This prevents a border effect where the large amount of masked area
    # screws up the distance transform below.
    if (self.canvas.restrictor is not None and
        self.canvas.restrictor.mask is not None):
      filt_edges[self.canvas.restrictor.mask] = 1

    logging.info('peaks: filtering done')
    dt = ndimage.distance_transform_edt(1 - filt_edges).astype(np.float32)
    logging.info('peaks: edt done')

    # Use a specifc seed for the noise so that results are reproducible
    # regardless of what happens before the policy is called.
    state = np.random.get_state()
    np.random.seed(42)
    idxs = skimage.feature.peak_local_max(
        dt + np.random.random(dt.shape) * 1e-4,
        indices=True, min_distance=3, threshold_abs=0, threshold_rel=0)
    np.random.set_state(state)

    # After skimage upgrade to 0.13.0 peak_local_max returns peaks in
    # descending order, versus ascending order previously.  Sort ascending to
    # maintain historic behavior.
    idxs = np.array(sorted((z, y, x) for z, y, x in idxs))

    logging.info('peaks: found %d local maxima', idxs.shape[0])
    self.coords = idxs 
開發者ID:google,項目名稱:ffn,代碼行數:44,代碼來源:seed.py

示例14: make_hog_block_image

# 需要導入模塊: import skimage [as 別名]
# 或者: from skimage import feature [as 別名]
def make_hog_block_image(hog, config=None):
    """
    References:
        https://github.com/scikit-image/scikit-image/blob/master/skimage/feature/_hog.py
    """
    from skimage import draw

    if config is None:
        config = HOGConfig()

    cx, cy = config['pixels_per_cell']

    normalised_blocks = hog
    (n_blocksy, n_blocksx, by, bx, orientations) = normalised_blocks.shape

    n_cellsx = (n_blocksx - 1) + bx
    n_cellsy = (n_blocksy - 1) + by

    # Undo the normalization step
    orientation_histogram = np.zeros((n_cellsy, n_cellsx, orientations))

    for x in range(n_blocksx):
        for y in range(n_blocksy):
            norm_block = normalised_blocks[y, x, :]
            # hack, this only works right for block sizes of 1
            orientation_histogram[y:y + by, x:x + bx, :] = norm_block

    sx = n_cellsx * cx
    sy = n_cellsy * cy

    radius = min(cx, cy) // 2 - 1
    orientations_arr = np.arange(orientations)
    dx_arr = radius * np.cos(orientations_arr / orientations * np.pi)
    dy_arr = radius * np.sin(orientations_arr / orientations * np.pi)
    hog_image = np.zeros((sy, sx), dtype=float)
    for x in range(n_cellsx):
        for y in range(n_cellsy):
            for o, dx, dy in zip(orientations_arr, dx_arr, dy_arr):
                centre = tuple([y * cy + cy // 2, x * cx + cx // 2])
                rr, cc = draw.line(int(centre[0] - dx),
                                   int(centre[1] + dy),
                                   int(centre[0] + dx),
                                   int(centre[1] - dy))
                hog_image[rr, cc] += orientation_histogram[y, x, o]
    return hog_image 
開發者ID:Erotemic,項目名稱:ibeis,代碼行數:47,代碼來源:core_annots.py


注:本文中的skimage.feature方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。