一,定义与作用

图像梯度作用:获取图像边缘信息

二,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实现图像梯度的更多相关文章

  1. opencv python:图像梯度

    一阶导数与Soble算子 二阶导数与拉普拉斯算子 图像边缘: Soble算子: 二阶导数: 拉普拉斯算子: import cv2 as cv import numpy as np # 图像梯度(由x, ...

  2. Python+OpenCV图像处理(十二)—— 图像梯度

    简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导. Sobel算子是普通一阶差分,是基于寻找梯度强度.拉普拉斯算子(二阶差分)是基于过零点检测.通过计算梯度,设置阀值, ...

  3. opencv学习笔记(六)---图像梯度

    图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 这些算子的原理可参考:https://blog.csdn.net/poem_q ...

  4. OpenCV4系列之图像梯度和边缘检测

    在图像处理中,求解图像梯度是常用操作. Sobel算子 Calculates the first, second, third, or mixed image derivatives using an ...

  5. Python实现图像直方图均衡化算法

    title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...

  6. Python实现图像边缘检测算法

    title: "Python实现图像边缘检测算法" date: 2018-06-12T17:06:53+08:00 tags: ["图形学"] categori ...

  7. Python 调用图像融合API

    Python 调用图像融合API 本文记录使用Python,调用腾讯AI开放平台的图像融合API.官网给出的Demo用的是PHP,博主作为Python的粉丝,自然想用它来和『最好的』的语言一较高下,顺 ...

  8. 『cs231n』作业3问题3选讲_通过代码理解图像梯度

    Saliency Maps 这部分想探究一下 CNN 内部的原理,参考论文 Deep Inside Convolutional Networks: Visualising Image Classifi ...

  9. opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测

    opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测 这章讲了 sobel算子 scharr算子 Laplacion拉普拉斯算子 图像深度问题 Canny检测 图像梯度 sobel算子 ...

随机推荐

  1. 基于C++的ButeBuf封装

    目录 1.说明 2.代码 1.说明 netty 的 ByteBuf 中的 readerIndex 和 writerIndex 的设置十分巧妙,它内部对读取和写入位置进行控制,避免自己处理index的时 ...

  2. mysql从零开始之MySQL 选择数据库

    MySQL 选择数据库 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简 ...

  3. C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案>中介绍了目前市场主流 ...

  4. 掌握BeanShell,轻松处理jmeter中的数据

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15424558.html 博客主页:https://www.cnblogs.com/testero ...

  5. Java(45)JDK新特性之String流

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201671.html 博客主页:https://www.cnblogs.com/testero ...

  6. 【UE4 C++】 启动 / 关闭外部exe、开启虚拟键盘

    启动/关闭外部exe 引擎自带 FPlatformProcess::CreateProc() FPlatformProcess::TerminateProc() windows api ShellEx ...

  7. Java:泛型小记

    Java:泛型小记 对 Java 中的 泛型类,做一个微不足道的小小小小记 泛型实现 概述 开篇: List<String> l1 = new ArrayList<String> ...

  8. mybatis学习笔记(2)基本原理

    引言在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹(参考:<MyBatis----基础知识>).但是,为什么还要要学习mybatis的工作原理?因为,随着myb ...

  9. 【二食堂】Beta - Scrum Meeting 7

    Scrum Meeting 7 例会时间:5.19 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 文本区域的前后端对接完成,bug已经修复issue2. 自定义关系的添加与删 ...

  10. [软工顶级理解组] Alpha阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...