计算机视觉图像处理之Task04

介绍

  • HOG特征算子是在深度学习之前非常流行的一种图像特征提取技术,全称为Histogram of Oriented Gradients—方向梯度直方图
  • 运用对图像局部的梯度幅值和方向进行统计,形成具有梯度特性的直方图,将图像分成很多的block,并将得到的局部特征进行拼接

算法流程

输入图像
Gamma矫正
计算图像梯度
计算梯度直方图
BLOCK特征归一化
得到HOG特征
SVM

图像处理

运用Gamma公式对图像

Gamma公式

参考文档

Gamma

图像展示

import cv2
import numpy as np
from matplotlib import pyplot as plt
img =cv2.imread('../input/webarebear/timg.jpg',0)
img =cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
img2 =np.power(img/float(np.max(img)),1/2.2)
plt.imshow(img2)
plt.axis('off')
plt.show()

原图
bear
bear2
好像没啥区别

计算图像梯度

在这里插入图片描述
在这里插入图片描述

  • 水平梯度
    在这里插入图片描述
  • 竖直梯度
    在这里插入图片描述
  • 幅值
    在这里插入图片描述
  • 可化简为
    在这里插入图片描述
  • 梯度与边缘方向–如图
    在这里插入图片描述

代码

import cv2
import numpy as np
img =cv2.imread('../input/webarebear/timg.jpg')
img =np.float32(img)/255.0 
# 归一化
# 计算x y方向的梯度
dx =cv2.Sobel(img,cv2.CV_32F,1,0,ksize=1)
dy =cv2.Sobel(img,cv2.CV_32F,0,1,ksize=1)
# 计算和梯度的幅值和方向
mag,angle = cv2.cartToPolar(dx,dy,angleInDegrees=True)
# print(mag,angle)

计算梯度直方图

计算方法

在这里插入图片描述
在这里插入图片描述

  • 最后得到
    在这里插入图片描述

BLOCK归一化

目的

  • 为了削弱光照的影响

计算

每个数/每个数的平方和开根

代码实践

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
if __name__ == '__main__':
    src = cv.imread("../input/dalaoheying/dalaoheying.jpg")
#     cv.imshow("input", src)
    plt.imshow(src)
    plt.show()
    hog = cv.HOGDescriptor()
    hog.setSVMDetector(cv.HOGDescriptor_getDefaultPeopleDetector())
    # Detect people in the image
    (rects, weights) = hog.detectMultiScale(src,
    winStride=(2,4),
    padding=(8, 8),
    scale=1.2,
    useMeanshiftGrouping=False)
    for (x, y, w, h) in rects:
        cv.rectangle(src, (x, y), (x + w, y + h), (0, 255, 0), 2)
#     cv.imshow("hog-detector", src)
    plt.imshow(src)
    cv.imwrite("hog-detector.jpg",src)
    plt.show()

在这里插入图片描述
在这里插入图片描述
效果有待加强

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值