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算子 ...
随机推荐
- Java实现两数之和等于二十
找出数组中两个数字之和为20的两个数 代码实现 public static void main(String[] args) { // TODO Auto-generated method stub ...
- equals之List
School类 package com.collection.equals; /* * 定义一个学校类 相当于一个学校模板 * 状态: 1.学校id 2.学校名称 * */ public class ...
- Vulnhub实战-doubletrouble靶机👻
Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...
- Data Interoperability Tools
这里的工具貌似没有对应函数~~~
- Java(17)面向对象之多态
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201621.html 博客主页:https://www.cnblogs.com/testero ...
- python中dump与dumps实现序列化
前言 使用中如果我们想把python可识别对象的dict类型的数据通过str类型写入文件或者存入变量中就需要用到dump与dumps 详解 dump 1.新建个dict文件,然后将dict文件存入一个 ...
- 微服务网关Ocelot加入IdentityServer4鉴权-.NetCore(.NET5)中使用
Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-网关Ocel ...
- props&attrs provide inject
defineComponent({ props: {// 1 } setup (props, {attrs, emit}) { } }) 一,组件传值: 父传子: 1.如果没有在定义的props中声明 ...
- Tekton+Argocd实现自动化流水线
目录 什么是tekton 安装tekton 安装Dashboard Tekton提供的CRD 安装argocd 创建argocd 安装客户端 连接argocd server 创建App 集群中查看效果 ...
- PSS--待看
转载:浅谈可移植激励规范(PSS)复用策略_路科验证-CSDN博客 译者按 :当今硬件设计变得愈加复杂,如何创建出足够的测试来保证设计的正确性是每个硬件工程师需要面对的问题.Accellera的可移植 ...