分割 反比 权重图 梯度 灰度_numpy gradient梯度函数1
梯度代表数据的变化程度,在数学领域一般通过求导或者求偏导得到,但在数值领域一般通过差分来近似梯度。
常用的差分为一阶差分和二阶差分,一阶差分代表相邻2个数据之间的关系,而二阶差分代表相邻3个数据之间的关系。
y(i) = x(i+1) - i(i)
y(i+1) = x(i+2) - x(i+1)
y(i)和y(i+1)分别是x(i)和x(i+1)为一阶差分。
z(i) = y(i+1)-y(i) = x(i+2)-2*x(i+1) + x(i)
z(i)为x(i)的二阶差分,即一阶差分再求一阶差分。
在numpy中,gradient()提供数组的梯度计算功能,计算时从外轴到里轴,沿着各个轴分别计算各个轴的梯度,每个轴单独返回一个梯度数组。
gradient的构造函数如下:
numpy.gradient(f, *varargs, **kwargs)
对于数组的内部元素,使用二阶差分来近似梯度,对于数组的边缘元素,使用一阶差分来近似梯度。比如:对于a,b,c三个元素,a的梯度=b-a,b的梯度=(c-a)/2,c的梯度=c-b。(函数实际使用的二阶差分不是上面标准形式的二阶差分,而是二阶中心差分)
输入:一个N维数组
输出:输入数组有几个维度,返回几个N维度数组。
对于下面这个2×2的数组,返回2个数组,第1个数组沿着0轴计算输入数组的梯度,第2个数组沿着1轴计算输入数组的梯度。
以图像边缘检测为例(参考中国大学生MOOC python 系列课程):
原始图片长这个样子
读取图片文件,转为灰度图片,图片数组shape=(401,627)
计算数组梯度,并根据指定图片深度缩放,同时归一化计算得到的梯度值。
计算光源的俯视角度和方位角
计算结果图片数组的数组,并转为灰度图片,保存。
说明:new_img是单维度的数组,需要使用PIL的convert转为灰度图,否则保存图片全黑。
边缘检测的图片长这个样子
梯度在图片边缘检测中使用非常广泛,比如Prewitt算子,Sobel算子,Canny算子,LOG边缘检测算子等,后续会单独详细讲解。
--未完待续--
分割 反比 权重图 梯度 灰度_numpy gradient梯度函数1相关推荐
- 【转载】深度学习数学基础(二)~随机梯度下降(Stochastic Gradient Descent, SGD)
Source: 作者:Evan 链接:https://www.zhihu.com/question/264189719/answer/291167114 来源:知乎 著作权归作者所有.商业转载请联系作 ...
- 随机梯度下降法_动量梯度下降法(gradient descent with momentum)
简介 动量梯度下降法是对梯度下降法的改良版本,通常来说优化效果好于梯度下降法.对梯度下降法不熟悉的可以参考梯度下降法,理解梯度下降法是理解动量梯度下降法的前提,除此之外要搞懂动量梯度下降法需要知道原始 ...
- 【调参19】如何使用梯度裁剪(Gradient Clipping)避免梯度爆炸
文章目录 1. 梯度爆炸和裁剪 2. TensorFlow.Keras 实现 2.1 梯度范数缩放(Gradient Norm Scaling) 2.2 梯度值裁剪(Gradient Value Cl ...
- python怎么计算图像梯度_Opencv-Python学习笔记十——图像梯度、边缘检测 Gradient, Edge Detection...
图像梯度 边缘检测 图像梯度,图像边界 使用到的函数有: cv2.Sobel(), cv2.Schar(), cv2.Laplacian() 梯度简单来说就是求导,OpenCV 提供了三种不同的梯度滤 ...
- 机器学习中的梯度下降( Gradient Descent)算法
前言 梯度下降(Gradient Descent,GD)算法主要分为三种:批量梯度下降(Batch Gradient Descent,BGD)算法.随机梯度下降(Stochastic Gradient ...
- ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...
- [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
本文转自:https://blog.csdn.net/walilk/article/details/50978864 引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记, ...
- 3. 机器学习中为什么需要梯度下降_梯度提升(Gradient Boosting)算法
本文首发于我的微信公众号里,地址:梯度提升(Gradient Boosting)算法 本文禁止任何形式的转载. 我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI ...
- 深度学习--采用ReLU解决消失的梯度问题(vanishing gradient problem)
消失的梯度问题(vanishing gradient problem): 更深层的神经网络可以学到不同抽象程度的概念,但随着深度的增加不同层的学习速率会显著不同,接近输出层的学习速率比较合适时前面的层 ...
- matlab彩色转灰度图代码,彩色图转灰度图 matlab 实现代码
(一):彩色图像转灰度图 1.设计任务 1) 读入彩色和灰度图像并显示: 2) 对彩色图像转化为灰度图像并显示: 3) 比较两种方法的效果. 2.设计目的 1) 掌握彩色图转灰度图的基本原理与方法: ...
最新文章
- property Alternative forms propretie
- 手写自己的MyBatis框架-MapperProxy
- 【REPERTOIRE】Rastaman Vibration
- Objective-C浮点数转化整数(向上取整、向下取整)
- mac os 开启redis_高并发大流量,总会想到它!来一起通过docker搭建redis集群
- 万能驱动安装器_Windows驱动安装指南
- 鸟叔linux命令大全,[鸟哥linux视频教程整理]02_01_linux操作系统及常用命令
- HTML前端开发之路——Transition
- 高达大战分晓!日本机器人先赢后输,遭电锯切割惨惨惨 | 附高清完整视频
- 还在重复写空指针检查代码?考虑使用 Optional 吧!
- 【3月22日】2022年百度机器学习春实习笔试题解
- CBMVC For Titanium Alloy 发布!
- 非常好用的php单文件在线文件管理器微网盘系统 万维景盛优化版
- idea英文翻译插件Translation
- 和我一起学Python
- 2019考研上海交通大学823计算机通信网真题回忆
- oracle用户密码不被锁,Oracle用户密码过期和用户被锁解决方法【转】
- C语言 键盘输入摄氏温度,屏幕打印输出华氏温度。
- python安装selenium教程
- superset使用(四) 地图绘制的ISO 3166转码以及名称汉化显示
热门文章
- PHP和Java的主要区别有哪些呢?
- 在Unity中添加图标
- VC 2012 中调用WebBrowser简单的实现过程(图解过程)
- 展示全面快速响应能力 华为全线解决方案亮相北京国际通信展
- windows10安装nodeJs及环境配置
- Python零基础学习笔记(三十九)—— time
- Hexo Next底部powered by的logo栏更改以及注意事项(附官方文档,文末有福利链)
- Cloudera Manager 安装 CDH5.x 心得
- TP-Link C2和C20i产品出现命令注入、DoS等多个漏洞 绿盟科技发布安全威胁通告
- 关于编辑区无法调用chekbox的问题