python实现图像梯度
一,定义与作用
图像梯度作用:获取图像边缘信息


二,Sobel 算子与函数的使用
(1)Sobel 算子------来计算变化率



(2)Sobel函数的使用



(3-1)代码实现(分别):

(3-2)代码实现(合起):

三,scharr算子与函数的使用
(1) scharr算子------近似求取每个像素的变化率,近似求取每一个导数。

四,Laplacian算子与函数的使用


五,代码
Sobel算子:
1 # -*- coding=GBK -*-
2 import cv2 as cv
3
4
5 #图像梯度:索贝尔算子
6 def sobel_image(image):
7 grad_x = cv.Sobel(image, cv.CV_32F, 1, 0)#x方向导数
8 grad_y = cv.Sobel(image, cv.CV_32F, 0, 1)#y方向导数
9 gradx = cv.convertScaleAbs(grad_x)
10 grady = cv.convertScaleAbs(grad_y)
11 cv.imshow("X方向", gradx)#颜色变化在水平分层
12 cv.imshow("Y方向", grady)#颜色变化在垂直分层
13 gradxy = cv.addWeighted(gradx, 0.5, grady, 0.5, 0)
14 cv.imshow("合成", gradxy)
15
16 src = cv.imread("C://1.jpg")
17 cv.imshow("原来", src)
18 sobel_image(src)
19 cv.waitKey(0)
20 cv.destroyAllWindows()
scharr算子:
1 def scharr_image(image):
2 grad_x = cv.Scharr(image, cv.CV_32F, 1, 0)#x方向导数
3 grad_y = cv.Scharr(image, cv.CV_32F, 0, 1)#y方向导数
4 gradx = cv.convertScaleAbs(grad_x)
5 grady = cv.convertScaleAbs(grad_y)
6 cv.imshow("X方向", gradx)#颜色变化在水平分层
7 cv.imshow("Y方向", grady)#颜色变化在垂直分层
8 gradxy = cv.addWeighted(gradx, 0.5, grady, 0.5, 0)
9 cv.imshow("合成", gradxy)
Laplacian算子:
1 def lapalian_image(image):
2 dst = cv.Laplacian(image, cv.CV_32F)
3 lpls = cv.convertScaleAbs(dst)
4 cv.imshow("拉普拉斯", lpls)
python实现图像梯度的更多相关文章
- opencv python:图像梯度
一阶导数与Soble算子 二阶导数与拉普拉斯算子 图像边缘: Soble算子: 二阶导数: 拉普拉斯算子: import cv2 as cv import numpy as np # 图像梯度(由x, ...
- Python+OpenCV图像处理(十二)—— 图像梯度
简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导. Sobel算子是普通一阶差分,是基于寻找梯度强度.拉普拉斯算子(二阶差分)是基于过零点检测.通过计算梯度,设置阀值, ...
- opencv学习笔记(六)---图像梯度
图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 这些算子的原理可参考:https://blog.csdn.net/poem_q ...
- OpenCV4系列之图像梯度和边缘检测
在图像处理中,求解图像梯度是常用操作. Sobel算子 Calculates the first, second, third, or mixed image derivatives using an ...
- Python实现图像直方图均衡化算法
title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...
- Python实现图像边缘检测算法
title: "Python实现图像边缘检测算法" date: 2018-06-12T17:06:53+08:00 tags: ["图形学"] categori ...
- Python 调用图像融合API
Python 调用图像融合API 本文记录使用Python,调用腾讯AI开放平台的图像融合API.官网给出的Demo用的是PHP,博主作为Python的粉丝,自然想用它来和『最好的』的语言一较高下,顺 ...
- 『cs231n』作业3问题3选讲_通过代码理解图像梯度
Saliency Maps 这部分想探究一下 CNN 内部的原理,参考论文 Deep Inside Convolutional Networks: Visualising Image Classifi ...
- opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测
opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测 这章讲了 sobel算子 scharr算子 Laplacion拉普拉斯算子 图像深度问题 Canny检测 图像梯度 sobel算子 ...
随机推荐
- 前端VUE基于gitlab的CI_CD
目录 CI 1.Gitlab的CI 1.1 GitLab-Runner 1.2 .gitlab-ci.yml 1.3 配置.gitlab-ci.yml 1.3.1 Pipeline概念 1.3.2 S ...
- react之组件数据挂在方式
1.属性(props) 组件间传值,在React中是通过只读属性 props 来完成数据传递的. props:接受任意的入参,并返回用于描述页面展示内容的 React 元素. import React ...
- Linux Bash命令杂记(tr col join paste expand)
Linux Bash命令杂记(tr col join paste expand) tr命令 tr命令可以将输入的数据中的某些字符做替换或者是作删除 tr [-ds] STR d: 删除输入数据的中的S ...
- AI 事件驱动场景 Serverless 实践
作者 | 李鹏(元毅) 来源 | Serverless 公众号 一.事件驱动框架:Knative Eventing 事件驱动是指事件在持续事务管理过程中,进行决策的一种策略.可以通过调动可用资源执行相 ...
- UI BLOCK自定义枚举控件的宽度
三步: 1.修改PresentationStyle属性为Radio Box 2.修改NumberOfColumns属性为指定的宽度(显示字符的个数) 3.将PresentationStyle属性改回O ...
- python的参数传递是值传递还是引用传递??
函数参数传递机制,传值和引用的是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传递. 值传递(pa ...
- Django开发个人博客入门学习经验贴
[写在前面] 入门学习搭建个人博客系统首先还是参考大佬们的经验,记得刚入手Django的时候,一篇博客大佬说过一句话,做技术的不要一开始就扎头于细节中,先把握整体框架,了解这个对象之后再去了解细节,进 ...
- nexus设置npm下载管理
nexus设置npm下载管理 第一步 登录私服网页 第二步 创建存储空间(如果使用默认的存储空间,此步骤可省略) 第三步 输入空间的名称,点击create创建 第四步 创建仓库 npm的仓库有三种: ...
- 如何将jdk12的源码导入idea
如何将jdk12的源码导入idea中 一 首先,在idea中新建一个java工程 接着,在本地找到jdk所在的文件目录,进入jdk目录,找到javasrc目录或者一个src.zip的压缩包, 在向下或 ...
- 【UE4 C++ 基础知识】<3> 基本数据类型、字符串处理及转换
基本数据类型 TCHAR TCHAR就是UE4通过对char和wchar_t的封装 char ANSI编码 wchar_t 宽字符的Unicode编码 使用 TEXT() 宏包裹作为字面值 TCHAR ...