提取兴趣点作为特征(extracting points of interest as features)

我们先前创建的特征向量表示图像中的每个像素;表示图像的所有信息属性,并表示所有噪声属性。检查训练数据后,我们可以看到所有的图像都有一个白色像素的周长;这些像素不是有用的功能。人类可以快速识别许多物体,而不需要观察物体的每个属性。我们可以从罩的轮廓识别出一辆汽车,而不必观察后视镜,我们可以从鼻子或嘴里识别人脸的图像。这种直觉是创造图像最具信息性的表征。这些信息属性或兴趣点是由丰富的纹理包围的点,尽管扰乱了图像,但是它们可以被再现。边缘和角落是两种常见的兴趣点。边缘是像素强度快速变化的边界,角是两个边缘的交点。让我们使用scikit-image从下图中提取兴趣点:
mandrill
代码如下:

import numpy as np
from skimage.feature import corner_harris, corner_peaks
from skimage.color import rgb2gray
import matplotlib.pyplot as plt
import skimage.io as io
from skimage.exposure import equalize_hist

def show_corners(corners, image):
    fig = plt.figure()
    plt.gray()
    plt.imshow(image)
    y_corner, x_corner = zip(*corners)
    plt.plot(x_corner, y_corner, 'or')
    plt.xlim(0, image.shape[1])
    plt.ylim(image.shape[0], 0)
    fig.set_size_inches(np.array(fig.get_size_inches()) * 1.5)
    plt.show()

mandrill = io.imread('E:\Datasets\mandrill.png')
mandrill = equalize_hist(rgb2gray(mandrill))
corners = corner_peaks(corner_harris(mandrill), min_distance=2)
show_corners(corners, mandrill)

下图绘制了所提取的兴趣点。 在图像的230400像素中,466个像素被提取为兴趣点。 这种表示更加紧凑; 理想情况下,即使图片发生了变化,但仍然有方式去近似感兴趣点并再现它们。
mandrill2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值