Python Opencv实践 - HoG特征计算

参考资料:https://www.cnblogs.com/alexme/p/11361563.html
         https://blog.csdn.net/qq_43348528/article/details/108638030

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
from skimage import exposure
from skimage.feature import hog
from skimage import data,color,exposureimg = cv.imread("../SampleImages/tifa.jpg", cv.IMREAD_COLOR)
plt.imshow(img[:,:,::-1])#转换为灰度图
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
plt.imshow(img_gray, plt.cm.gray)#HoG特征计算
#参考资料:https://www.cnblogs.com/alexme/p/11361563.html
#         https://blog.csdn.net/qq_43348528/article/details/108638030
#1. 创建HoG对象
#   hog = cv.HOGDescriptor(winSize,blockSize,blockStride,cellSize,nbins)
#   winSize:检测窗口大小
#   blockStride:block块的滑动步长
#   cellSize:cell单元大小
#   nbins:统计梯度的方向数目,一般为9,即一个cell统计9个角度范围的梯度直方图
winSize = (64,128)
blockSize = (16,16)
blockStride = (8,8)
cellSize = (8,8)
nbins = 9
hog_obj = cv.HOGDescriptor(winSize, blockSize, blockStride, cellSize, nbins)
#2. 计算HoG特征
#   hogDes = hog.compute(img,winStride,padding)
#   img:原图
#   winStride:检测窗口的滑动步长
#   padding:填充,在图像周围填充点的边界处理
#   返回hogDes:对整幅图像的HoG特征描述符
hogDes = hog_obj.compute(img_gray, winStride=(8,8))
#使用OPENCV的HOGDescriptor不能将HOG处理后的梯度直方图结合原图显示
print("HogDes Size:",hogDes.size)
print(hogDes)#使用skimage
fd,hog_image = hog(img_gray, orientations=8, pixels_per_cell=(16,16), cells_per_block=(1,1), visualize=True)
hog_image_rescaled = exposure.rescale_intensity(hog_image, in_range=(0,0.02))
#叠加HoG梯度直方图到图像上
img_hog_display = img_gray * hog_image_rescaled
plt.figure(figsize=(16,16), dpi=80)
plt.imshow(img_hog_display, plt.cm.gray)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/132562.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

靶场溯源第二题

关卡描述:1. 网站后台登陆地址是多少?(相对路径) 首先这种确定的网站访问的都是http或者https协议,搜索http看看。关于http的就这两个信息,然后172.16.60.199出现最多,先过滤这个ip看看 这个很…

SSM - Springboot - MyBatis-Plus 全栈体系(八)

第二章 SpringFramework 四、SpringIoC 实践和应用 4. 基于 配置类 方式管理 Bean 4.4 实验三:高级特性:Bean 注解细节 4.4.1 Bean 生成 BeanName 问题 Bean 注解源码: public interface Bean {//前两个注解可以指定Bean的标识AliasFor…

Mendeley在linux中无法打开APPimage

原因:FUSE 库为用户空间程序提供了一个接口,可以将虚拟文件系统导出到 Linux 内核。由于缺少这个关键库,AppImage 无法按预期工作。 1 安装fuse,打开终端,输入命令 sudo apt install libfuse2 输入用户密码结,果如下 2 确保APPimage作为程序运行 右击…

docker 获取Nvidia 镜像 | cuda |cudnn

本文分享如何使用docker获取Nvidia 镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。 1、来到docker hub官网,查看有那些Nvidia 镜像 https://hub.docker.com/r/nvidia/cuda/tags?page2&name11.…

【计算机视觉 | 图像模型】常见的计算机视觉 image model(CNNs Transformers) 的介绍合集(五)

文章目录 一、MoCo v3二、AmoebaNet三、Residual Multi-Layer Perceptrons四、FractalNet五、LV-ViT六、RepVGG七、Transformer in Transformer八、SimpleNet九、SpineNet十、Bottleneck Transformer十一、ZFNet十二、DetNet十三、Invertible Rescaling Network十四、SNet十五、…

SVN 索引版本与打包版本号不匹配

今天突然遇到了一个问题,SVN上传不了,错误提示如下: 解决方法: 1.其实,这是SVN库不小心搞坏了,只能重新再创建一个SVN仓库了。

Redis:分布式锁误删原因分析

一、线程阻塞 例如,线程一获取分布式锁,但是线程一阻塞时间过长,导致锁超时释放。此时线程二获取分布式锁。当线程一阻塞结束后,释放分布式锁,但是释放的却是线程二的锁。此时线程二就不安全了,线程三也可…

Linux下修改jar包中的配置文件application.conf

文件位置 jar包文件工程目录 打包后解压jar包目录 提取和上传 jar tf XXX.jar # 获取包内文件 application.conf是jar包的配置文件,如果修改需要 提取文件 jar xf my-app.jar application.conf 修改后上传文件 jar uf my-app.jar application.conf

解决开了burp suite ,火狐访问不了其他网站的问题

问题描述: 有软件正在阻止 Firefox 安全地连接至此网站 www.baidu.com 很像是一个安全(连接加密)的网站,但我们未能与它建立安全连接。这个问题是由 PortSwigger CA 所造成,它是您的计算机或您所在网络中的软件。 您…

为什么Proteus串口无法正常显示

我以前就可以正常显示,但是最近一段时间,发现串口无法正常显示,试了很多办法都不行, 然后今天干好有点时间就刷了个机,然后居然就好了, 这就说明:Proteus不正常可能是病毒破坏了某个文件导致异…

HSRP(热备份路由选择协议)的概念,原理与配置实验

作者:Insist-- 个人主页:insist--个人主页 梦想从未散场,传奇永不落幕,持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步 目录 一、了解HSRP协议 1. 什么是HSRP协议 2、HSRP协议的…

java和fastjson

1.java是如何跨平台通信的 java--->class字节码--->jvm虚拟机运行 2.使因为jvm只会读文件名 如果不一致 则无法找到文件 3.main 函数说明java代码的接口 被使用 4.java和class后缀的区别 java是当前编写的代码文件 class是编译后的文件 5.void 没有返回值 这…

Django系列:Django简介与MTV架构体系概述

Django系列 Django简介与MTV架构体系概述 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/132890054 【介…

Canny图像算法仿真

目录 一、简要说明 1.1 算法流程 第一步,图像降噪。 第二步,计算图像梯度,得到可能边缘。 第三步,非极大值抑制。 第四步,双阈值筛选。 1.2 验证流程: 二、操作步骤 第一步:获取图像 …

代码随想录算法训练营第48天|198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III

198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个…

国产洗碗机打响超越战

“征服世界的将是这样一些人:开始的时候,他们试图找到梦想中的乐园。最终,当他们无法找到时,就亲自创造了它。”诺贝尔文学奖获得者萧伯纳的这句话,适用于许多中国行业和企业,洗碗机就是其中之一。 对热爱…

Zabbix监控平台部署流程

Zabbix WEB、Zabbix Server、Zabbix Database放在一台服务器;(192.168.10.12)Zabbix Agent部署在被监控服务器上 (192.168.10.11)Zabbix Porxy 单独部署在一台服务器上(被监控服务器少于500台可以不部署&am…

C#: 未能加载文件或程序集“xxx“

导入数据时,发生了异常,错误日志如下: 2023-09-11 09:20:49,304 [125] FATAL [(null)] - NPOI.POIXMLException ---> System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.IO.FileLoadException: 未能加…

矿山边坡安全监测及预警系统解决方案

1.建设背景 近年来,矿山安全问题一直受到国家和社会的高度关注。为了全面提升矿山安全生产水平,国家矿山安全监察局和各省级非煤矿山安全监管部门开展了一项重大举措:推广并实施露天矿山边坡监测系统。 矿山边坡和排土场安全是露天矿山安全生…

第2章_瑞萨MCU零基础入门系列教程之面向过程与面向对象

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…