python + opencv图像处理(十八)——图像梯度

[Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸 该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,后期结合深度学习研究图像识别、图像分类应用。前面一篇文章详细讲解了Python和OpenGL的入门知识,包括安装、语法、基本图形绘制等。本篇文章将通过OpenCV快速实现人脸识别,涉及图像、视频、摄像头。基础性文章,希望对你有所帮助。 阅读详情

一阶导数与Soble算子
二阶导数与拉普拉斯算子
二阶导数:在二阶导数的时候,最大变化出的值为零即边缘是零值(根据此理论就可以提取边缘)。

from matplotlib import pyplot as plt 
from cv2 import cv2 as cv
import numpy as np 

#图像梯度:sobel算子
def sobel_image(image):
    grad_x = cv.Sobel(image, cv.CV_32F, 1, 0)#x方向导数
    grad_y = cv.Sobel(image, cv.CV_32F, 0, 1)#y方向导数
    gradx = cv.convertScaleAbs(grad_x)
    grady = cv.convertScaleAbs(grad_y)
    cv.imshow("X_sob", gradx)#颜色变化在水平分层
    cv.imshow("Y_sob", grady)#颜色变化在垂直分层
    gradxy = cv.addWeighted(gradx, 0.5, grady, 0.5, 0)#合起来
    cv.imshow("xy_sob", gradxy)


#图像梯度:scharr算子:增强边缘
# Scharr 是 sobel 算子的增强版本,对噪声比较敏感
def scharr_image(image):
    grad_x = cv.Scharr(image, cv.CV_32F, 1, 0)#x方向导数
    grad_y = cv.Scharr(image, cv.CV_32F, 0, 1)#y方向导数
    gradx = cv.convertScaleAbs(grad_x)
    grady = cv.convertScaleAbs(grad_y)
    cv.imshow("X_sch", gradx)#颜色变化在水平分层
    cv.imshow("Y_sch", grady)#颜色变化在垂直分层
    gradxy = cv.addWeighted(gradx, 0.5, grady, 0.5, 0)
    cv.imshow("xy_sch", gradxy)

# lapalian 算子
def lapalian_image(image):
    '''
    dst = cv.Laplacian(image, cv.CV_32F)
    lpls = cv.convertScaleAbs(dst)
    '''
 
    kernel = np.array([[0,1,0],[1,-4,1],[0,1,0]])  #定义卷积和  可以尝试其他的
    dst = cv.filter2D(image,cv.CV_32F,kernel=kernel)
    lpls = cv.convertScaleAbs(dst)
    #上述3行是自定义的

    cv.imshow("lpls", lpls)
 
#图像锐化
def custom_blur_demo(image):
    kernel = np.array(([0,-1,0],[-1,5,-1],[0,-1,0]),np.float32)
    dst = cv.filter2D(image,-1,kernel=kernel)
    cv.imshow('custom_blur_demo',dst)


if __name__ == "__main__":
    filepath = "C:\\pictures\\0000.png"
    img = cv.imread(filepath)       # blue green red
    # cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
    cv.imshow("input image",img)

    custom_blur_demo(img)


    cv.waitKey(0)
    cv.destroyAllWindows()

Soble算子图
在这里插入图片描述
拉普拉斯算子:
在这里插入图片描述
图像锐化对比:
在这里插入图片描述

[Python图像处理] 二十二.Python图像傅里叶变换原理及实现 前面一篇文章我讲解了Python图像量化、采样处理及图像金字塔。本文主要讲解图像傅里叶变换的相关内容,在数字图像处理中,有两个经典的变换被广泛应用——傅里叶变换和霍夫变换。其中,傅里叶变换主要是将时间域上的信号转变为频率域上的信号,用来进行图像除噪、图像增强等处理。基础性文章,希望对你有所帮助。同时,该部分知识均为杨秀璋查阅资料撰写,转载请署名优快云+杨秀璋及原地址出处,谢谢!! 1.图像傅里叶变换 2.Numpy实现傅里叶变换 3.Numpy实现傅里叶逆变换 4.OpenCV实现傅里叶变换 阅读详情

相关推荐

[Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)

前面一篇文章介绍了直方图统计,包括Matplotlib和OpenCV绘制直方图、掩膜直方图、灰度直方图对比及通过直方图预测黑夜白天。这篇文章将详细讲解图像增强知识,从而改善图像质量,增强图像识别效果,核心内容分为直方图均衡化、局部直方图均衡化和自动色彩均衡三部分。万字长文整理,希望对您有所帮助。

杨秀璋的专栏 1万+

Opencv(python)图像梯度和边缘检测算法

1.图像梯度 图像梯度计算的是图像的边缘信息,图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。 2.图像梯度计算方式 倒数其实是求解图像的像素灰度值的变化率,在数学上可以通过求倒数实现。可以分别原图像G对x方向和y方向求导数(假设灰度变化是连续的) Gx和Gy分别隐含了x和y方向的灰度...

thehappysheep的博客 6445

[Python图像处理] 二十五.图像特效处理之素描、怀旧、光照、流年以及滤镜特效

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。本篇文章继续分享素描特效、怀旧特效、光照特效、流年特效以及滤镜特效。代码通过Python和OpenCV实现,基础性文章,希望对你有所帮助。

杨秀璋的专栏 1万+

OpenCV - 图像梯度(Python实现)

原理 梯度简单来说就是求导。 OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器: Sobel,Scharr 和 Laplacian。我们会意义介绍他们。 Sobel, Scharr 其实就是求一阶或二阶导数。 Scharr 是对 Sobel(使用小的卷积核求解求解梯度角度时)的优化。 Laplacian 是求二阶导数。 import cv2 import numpy as np from...

C橘子 656

[Python图像处理] 三十五.OpenCV图像处理入门、算数逻辑运算与图像融合(推荐)

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。~前面一篇文章介绍了数字图像处理基础知识,包括像素及常见图像分类、OpenCV配置、常见数据类型、Numpy和Matplotlib绘制、几何图形绘制等。这篇文章将介绍OpenCV图像处理入门知识、算数逻辑运算与图像融合,万字长文整理,希望对您有所帮助

杨秀璋的专栏 5903

[Python图像处理] 四十.全网首发Python图像分割万字详解(阈值分割、边缘分割、纹理分割、分水岭算法、K-Means分割、漫水填充分割、区域定位)

前面一篇文章介绍了图像分类知识,包括常见的图像分类算法,并介绍Python环境下的贝叶斯图像分类算法、基于KNN算法的图像分类和基于神经网络算法的图像分类等案例。这篇文章将详细讲解图像分割知识,包括阈值分割、边缘分割、纹理分割、分水岭算法、K-Means分割、漫水填充分割、区域定位等。万字长文整理,希望对您有所帮助。 同时,该部分知识均为作者查阅资料撰写总结,并且开设成了收费专栏,为小宝赚点奶粉钱,感谢您的抬爱。当然如果您是在读学生或经济拮据,可以私聊我给你每篇文章开白名单,或者转发原文给你,更希望您能进步

杨秀璋的专栏 1万+

OpenCV图像处理技术(Python)——图像梯度

OpenCV图像处理技术(Python)——图像梯度 © Fu Xianjun. All Rights Reserved. 知识储备:图像梯度 1.Sobel算子 dst=cv2.Soble(src,ddepth,dx,dy[,ksize[,scale[,delta[,borderType]]]]) 知识储备1: 知识储备2: import cv2 import numpy as np def cv_show(name,img): cv2.imshow(name,img) cv2.waitKey()

Smoking_jl的博客 668

[Python图像处理] 三十六.OpenCV图像几何变换万字详解(平移缩放旋转、镜像仿射透视)

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。前面一篇文章介绍了OpenCV图像处理入门知识、算数逻辑运算与图像融合。这篇文章将介绍图像几何变换,包括:图像平移变换、图像缩放变换、图像旋转变换、图像镜像变换、图像仿射变换和图像透视变换,万字长文整理,希望对您有所帮助。

杨秀璋的专栏 9387

Python + OpenCV 学习笔记(十一)>>> 图像梯度

具体请参考Sobel 导数 import cv2 as cv def sobel_gradient(image): src = cv.imread(image) #grad_x = cv.Sobel(src, cv.CV_32F, 1, 0) #grad_y = cv.Sobel(src, cv.CV_32F, 0, 1) gra...

原谅我这一生不羁放纵爱自由 570

[Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 这篇万字文章一方面是感谢大家读这个专栏的喜欢,另一方面圣诞节、元旦节、情人节要到了,送给大家拿去表白或美化自己吧!哈哈。前面一篇文章介绍了两个重要的算法——傅里叶变换和霍夫变换。这篇文章将介绍12种常见的图像处理特效,万字长文整理,希望对您有

杨秀璋的专栏 1万+

[Python图像处理] 二十一.图像金字塔之图像向下取样和向上取样

前面一篇文章我讲解了Python图像量化及采样处理,本文将讲解另一个知识——图像金字塔,包括图像向下采样和图像向上采样。基础性文章,希望对你有所帮助。同时,该部分知识均为杨秀璋查阅资料撰写,转载请署名优快云+杨秀璋及原地址出处,谢谢!! 1.图像金字塔 2.图像向下采样 3.图像向上采样

杨秀璋的专栏 1万+

opencv python 显示正梯度和负梯度

有了前面的这个基础我们,就可以对比 sobel梯度里面 只显示正梯度和正负梯度多显示的不同代码了。先来一个例子,学一学colormap和mask的联合使用。思想:借助colormap。

Hello world from Stephen 572

[Python图像处理] 三十二.傅里叶变换(图像去噪)与霍夫变换(特征识别)万字详细总结

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 前面一篇文章介绍了民族服饰及文化图腾识别,详细讲解图像点运算,包括灰度化处理、灰度线性变换、灰度非线性变换、阈值化处理。这篇文章将讲解两个重要的算法——傅里叶变换和霍夫变换,万字长文整理,希望对您有所帮助。同时,该部分知识均为作者查阅资料撰写总

杨秀璋的专栏 1万+

《OpenCv视觉之眼》Python图像处理二十三:OpenCV图像处理最终章之基于PyQt5的图像处理界面设计及功能实现

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 5797

当Kmer遇到多倍体:复杂基因组Survey分析中的避坑指南

本文针对小麦、棉花等多倍体及高杂合复杂基因组的Survey分析,深入解析了Kmer分布图解读中的常见陷阱。文章重点探讨了如何超越理想二倍体模型,利用Smudgeplot等工具准确判断基因组倍性,并提供了从参数优化、污染判断到结果验证的全流程实战指南,帮助研究者规避错误,获得更准确的基因组大小、杂合度等关键信息。

yhn45678901的博客 1010

海豚调度器(dolphinscheduler)再次使用,添加钉钉预警

1,首先我们部署是海豚调度器 1.3.8版本,由于页面只有邮件预警,所以在了解源码的同时,需要添加钉钉预警 2,说明,这一块是同事搞的,不是我搞的,新版本的dolphinscheduler已经有了钉钉模块,只是新版本还没有发布 3,我们现在只是添加简单的钉钉预警,任务成功或者失败会发送邮件+钉钉 4,具体操作 找到最新的源码devhttps://github1s.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-alert/src/ma...

qq_31866793的博客 3084

《OpenCv视觉之眼》Python图像处理二十一:Opencv图像处理之图像线性变换和非线性变换的方法及原理

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 4239

YOLOv5+Astra Pro Plus深度相机:手把手教你实现实时目标检测(附ROS配置技巧)

本文详细介绍了如何将YOLOv5目标检测算法与Astra Pro Plus深度相机结合,构建实时目标检测系统。内容涵盖从硬件选型、环境搭建、ROS配置到YOLOv5部署与深度信息融合的完整流程,并分享了性能优化、避障算法等实战技巧,帮助开发者在机器人视觉等场景中快速实现智能感知应用。

weixin_28292761的博客 390

《OpenCv视觉之眼》Python图像处理十八:Opencv图像处理实战三之基于OpenCV训练模型的AI人脸检测

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 1836

Unity Spine 3.8 (URP) 踩坑(Shader报错修改)

提供了新思路,打算尝试一下URP。但美术使用的spine版本是3.8,项目用的Unity2021.3.11f1c2,直接导入spine URP包,shader报错:half4 不能转成 SurfaceData2D;Spine-Sprite-StandardPass-URP-2D.hlsl 也报这个错,也是同样的改法即可。今天搜索spine优化,看到一篇文章。

hrlr1230的博客 4570

# 【WorkBuddy专栏33】工作空间,最大的WorkBuddy技巧——任务隔离、记忆分区与多项目管理实战

工作空间,最大的WorkBuddy技巧——任务隔离、记忆分区与多项目管理实战

AI人人懂 2152

《OpenCv视觉之眼》Python图像处理二十:Opencv图像美化处理之图像流年、光照、浮雕、素描、怀旧、滤镜、毛玻璃、油漆特效处理

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 2853

【C语言】字符常量详解

字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。

LuckiBit 5021
上一篇: 机器学习算法基础——梯度下降法求一元线性回归
下一篇: python + opencv图像处理(十九)——边缘提取
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值