opencv-python 图像基础处理(四)
2024-09-04 06:10:19
图像梯度-Sobel算子
Gx等于左边减去右边 Gy等于下减去上 可以得到像素值
dst = cv2.Sobel(src, ddepth, dx, dy, ksize)
- ddepth:图像的深度
- dx和dy分别表示水平和竖直方向
- ksize是Sobel算子的大小
import cv2
import numpy as np
img=cv2.imread("d:/pie.png")
sobelx=cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)#只测试水平方向地
sobelx1=cv2.convertScaleAbs(sobelx)
res=np.hstack((sobelx,sobelx1))
cv2.imshow('erosion', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
#白到黑是正数,黑到白就是负数,所有得负数会被截断成0,所以要取绝对值
图像xy相加图像梯度
import cv2
import numpy as np
img=cv2.imread("d:/pie.png")
sobelx=cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)#只测试水平方向地
sobely=cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)#只测试水平方向地
sobely1=cv2.convertScaleAbs(sobely)
sobelx1=cv2.convertScaleAbs(sobelx) soblexy=cv2.addWeighted(sobelx1,0.5,sobely1,0.5,0)
cv2.imshow('erosion', soblexy)
cv2.waitKey(0)
cv2.destroyAllWindows()
图像梯度laplacian算法可以直接计算图像
import cv2
import numpy as np
img=cv2.imread("d:/pie.png")
sobelx=cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)#只测试水平方向地
sobely=cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)#只测试水平方向地
sobely1=cv2.convertScaleAbs(sobely)
sobelx1=cv2.convertScaleAbs(sobelx) soblexy=cv2.addWeighted(sobelx1,0.5,sobely1,0.5,0)
laplacian=cv2.Laplacian(img,cv2.CV_64F)
laplacian=cv2.convertScaleAbs(laplacian)
res=np.hstack((soblexy,laplacian))
cv2.imshow('erosion', res)
cv2.waitKey(0)
最新文章
- Angular自定义指令(directive)
- Android抓包方法(一)之Fiddler代理
- sql-char和varchar,nvarchar的区别
- (06)odoo报表
- ol3简介
- ios 相册相关
- 如何从Linux系统中获取带宽、流量网络数据
- 采用标准c进行目录文件遍历
- 我的Python成长之路---第七天---Python基础(22)---2016年2月27日(晴)
- 201521123017 《Java程序设计》第7周学习总结
- angular 4 实战开发--安卓兼容问题(1)
- docker+nginx实现负载均衡
- 9-8-B树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版
- 安装 aconda 后Linux的终端界面前部出现(base)字样
- DevExpress07、DataNavigator、 ControlNavigator
- jQuery的回调管理机制
- TOMCAT8源码分析——SESSION管理分析(上)
- NFS根文件系统
- 1014_C语言的文法
- HDFS Java Client对hdfs文件增删查改