OpenCV计算机视觉实战(Python版)_005图像的梯度处理
图像梯度-Sobel算子
img = cv2.imread('pie.png',cv2.IMREAD_GRAYSCALE)
cv2.imshow("img",img)
cv2.waitKey()
cv2.destroyAllWindows()
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')
分别计算x和y,再求和
sobelxy = cv2.addWeighted(sobelx,0.5,sobely,0.5,0)
cv_show(sobelxy,'sobelxy')
不建议直接计算(会有重影)
img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
cv_show(img,'img')
img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
sobelx = cv2.convertScaleAbs(sobelx)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
sobely = cv2.convertScaleAbs(sobely)
sobelxy = cv2.addWeighted(sobelx,0.5,sobely,0.5,0)
cv_show(sobelxy,'sobelxy')
img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)sobelxy=cv2.Sobel(img,cv2.CV_64F,1,1,ksize=3)
sobelxy = cv2.convertScaleAbs(sobelxy)
cv_show(sobelxy,'sobelxy')
图像梯度-Scharr算子
不同算子的差异
#不同算子的差异
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')
OpenCV计算机视觉实战(Python版)_005图像的梯度处理相关推荐
- OpenCV计算机视觉实战(Python版)_002图像基本操作
OpenCV计算机视觉实战(Python版) https://www.bilibili.com/video/BV1ct411F7Te?p=2 数据读取-图像 cv2.IMREAD_COLOR:彩色图像 ...
- OpenCV计算机视觉实战(Python版)_004图像形态学处理
形态学处理 腐蚀操作 img = cv2.imread('dige.png')cv2.imshow('img', img) cv2.waitKey(0) cv2.destroyAllWindows() ...
- OpenCV计算机视觉实战(Python版)资源
疲劳检测 pan.baidu.com/s/1Ng_-utB8BSrXlgVelc8ovw #导入工具包 from scipy.spatial import distance as dist from ...
- OpenCV计算机视觉实战(Python版)_003阈值与平滑处理
灰度图 import cv2 #opencv读取的格式是BGR import numpy as np import matplotlib.pyplot as plt#Matplotlib是RGB %m ...
- OpenCV计算机视觉实战(Python版)_006边缘检测
Canny边缘检测 使用高斯滤波器,以平滑图像,滤除噪声. 计算图像中每个像素点的梯度强度和方向. 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应. ...
- OpenCV计算机视觉实战 | 第5章 图像梯度算子
本文为课程<OpenCV计算机视觉实战>的课程笔记. 本章节讲述了图像梯度的计算方法.图像的梯度表征每个像素点和周围像素点差异程度. 上:梯度值公式:下:梯度方向公式 1 Sobel算子 ...
- OpenCV计算机视觉实战(Python)_09-项目实战:信用卡数字识别( Jupyter notebook实现)
1.介绍 从一个银行卡中识别其中的银行卡号: 2. 流程 读图 , 灰度图 , 二值化 使用模板匹配方式对模板,以及输入图像进行轮廓检测(检测外轮廓). 得到当前轮廓的外接矩形. 将模板中的外接矩形切 ...
- OpenCV计算机视觉实战(Python)_05-图像梯度处理
图像梯度-Sobel算子 其计算梯度的过程为: sobel和scharr对应的参数信息: src – 输入图像.dst – 输出图像,与输入图像同样大小,拥有同样个数的通道. ddepth –输出图片 ...
- OpenCV计算机视觉编程Python版
http://download.csdn.net/download/u014036026/9823217 好清晰的中文版
最新文章
- C语言--static全局使用示例
- SCCM管理 - 更新部署
- 手把手教你玩转ARP包(三)
- Spring Boot JPA中关联表的使用
- Python文件类型
- appium java api文档_Appium常用API
- 在Winhex中搜索文本字符时注意
- Adaboost算法结合Haar-like特征
- BAT命令手动_自动启动和禁用服务
- ubuntu c/c++ 生成.so 并被python调用
- BP神经网络算法基本原理,BP神经网络计算过程
- 二极管主要特性及伏安特性曲线
- 计算机重新启动后打印机脱机,重新启动计算机后打印机脱机怎么办
- pada mysql
- 有哪些好用的微信群管理工具?
- java fail 方法_java中的fail是什么意思
- 分类:决策树——剪枝
- URP中摄像机参数的设置
- 敏捷效能提升的五大要素与误区
- 【C++】挖金子(黄金矿工)分析与代码实现
热门文章
- 安卓案例:基于HttpURLConnection下载文本与图片
- 翻译练习:计算机网络
- think php 3.3.3看云,入口文件 · ThinkPHP3.2.3完全开发手册 · 看云
- pitr 原理_PostgeSQL 数据库备份与恢复实验 (PITR)
- python循环括号_Python3中小括号()、中括号[]、花括号{}的区别详解
- tensorflow2.0 图像处理项目_航天泰坦丨国产自主遥感图像处理软件当自强
- 代码块是什么?该如何使用?
- mqtt调试助手_腾讯物联网开发平台入门操作,如何使用MQTT协议上传温度湿度数据...
- java替换最后一个字符_Excel公式技巧23: 同时定位字符串中的第一个和最后一个数字...
- 神经网络之文本情感分析(一)