当前位置: 首页 > news >正文

OpenCV | 图像梯度sobel算子、scharr算子、lapkacian算子

import cv2 #opencv读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB
%matplotlib inline

1、sobel算子

img = cv2.imread('pie.png',cv2.IMREAD_GRAYSCALE)
cv2.imshow('img',img)
cv2.waitKey()
cv2.destroyAllWindows()

pie图片

 dst = cv2.Sobel(src,ddepth,dx,dy,ksize)
- ddepth:图像的深度
- dx和dy分别表示水平和竖直方向
- ksize是Sobel算子的大小 

def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows()sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
cv_show(sobelx,'sobelx')#白到黑是正数,黑道白就是负数了,所有负数会被截断成0,所以要取绝对值sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
sobelx = cv2.convertScaleAbs(sobelx)
cv_show(sobelx,'sobelx')sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
sobely = cv2.convertScaleAbs(sobely)
cv_show(sobely,'sobely')#分别计算x和y,再求和sobelxy = cv2.addWeighted(sobelx,0.5,sobely,0.5,0)
cv_show(sobelxy,'sobelxy')

运行完图片

2、图像梯度-Scharr算子 图像梯度-laplacian算子

scharr算子:

 laplacian算子:

原图片

灰度化:

img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
cv_show(img,'img')

lena图片

#不同算子的差异
img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
sobelx = cv2.convertScaleAbs(sobelx)
sobely = cv2.convertScaleAbs(sobely)
sobelxy = cv2.addWeighted(sobelx,0.5,sobely,0.5,0)scharrx = cv2.Scharr(img,cv2.CV_64F,1,0)
scharry = cv2.Scharr(img,cv2.CV_64F,0,1)
scharrx = cv2.convertScaleAbs(scharrx)
scharry = cv2.convertScaleAbs(scharry)
scharrxy = cv2.addWeighted(scharrx,0.5,scharry,0.5,0)laplacian = cv2.Laplacian(img,cv2.CV_64F)
laplacian = cv2.convertScaleAbs(laplacian)res = np.hstack((sobelxy,scharrxy,laplacian))
cv_show(res,'res')

运行完图片 

http://www.lryc.cn/news/248154.html

相关文章:

  • WS2812灯条基于WLED开源项目无门槛使用简介
  • 基于AOP的声明式事物控制
  • 第七节HarmonyOS UIAbility生命周期以及启动模式
  • matlab设置背景颜色
  • Linux gzip命令用法详解:如何压缩和解压文件(附实例教程和注意事项)
  • 初刷leetcode题目(11)——数据结构与算法
  • 基于SSM框架的图书馆管理系统设计与实现
  • 【面试】css预处理器之sass(scss)
  • Android设计模式--享元模式
  • 人工智能对我们的生活影响有多大
  • 【蓝桥杯选拔赛真题26】C++字符串逆序 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • antd vue a-select 下拉框位置偏移
  • Windows10免安装PostgreSQL
  • lua_next
  • svn服务端安装
  • 基于C#实现十字链表
  • 【MySQL】常用内置函数:数值函数 / 字符串函数 / 日期函数 / 其他函数
  • Python内置函数与标准库函数的详细解读
  • 计算机应用基础_错题集_Internet应用1---网络教育统考工作笔记004
  • STM32之定时器--超声波测距
  • 微信小程序 老年人心血管健康知识科普系统
  • influxdb2.x安装配置指南
  • android APP使用指定网络上网的原理
  • git-2
  • Vue实现可拖拽边界布局
  • Day41力扣打卡
  • SpringBoot项目发送邮件
  • Mac单独修改应用语言
  • Unity 通过代码控制Texture进行缩放
  • C语言:输入3个整数,按由小到大的顺序输出(指针)