opencv学习笔记16:梯度运算之scharr算子及其函数使用

您所在的位置:网站首页 梯度算法笔记怎么写的图片 opencv学习笔记16:梯度运算之scharr算子及其函数使用

opencv学习笔记16:梯度运算之scharr算子及其函数使用

2024-07-06 05:09| 来源: 网络整理| 查看: 265

前文介绍了sobel算子 opencv学习笔记14:sobel算子及其函数使用

scharr算子理论

系数和sobel不一样,其他一样。

scharr函数使用

dst=cv2.Scharr(src,ddpetph,dx,dy) dst:处理结果 src:源图像 ddpetph:图像深度 dx:x轴方向, dy:y轴方向

实际操作中,计算梯度值可能会出现负值而被截断。通常处理的图像类型为np.unit8,处理后的结果也是该类型,所有负数截断为0,发生信息丢失。 所以,在计算时,使用更高的数据类型cv2.CV_64F,取绝对值后再转换成np.unit8(cv2.CV_8U)。所以深度ddepth不写-1,改cv2.CV_64F cv2.convertScaleAbs(imgsrc) 取绝对值,并将梯度图像转换成256色位图,转换为unit8类型

scharr算例代码

计算x轴梯度

import cv2 import numpy as np o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE) scharrx = cv2.Scharr(o,cv2.CV_64F,1,0) scharrx = cv2.convertScaleAbs(scharrx) # 转回uint8 cv2.imshow("original",o) cv2.imshow("x",scharrx) cv2.waitKey() cv2.destroyAllWindows()

计算y轴梯度

import cv2 import numpy as np o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE) scharry = cv2.Scharr(o,cv2.CV_64F,0,1) scharry = cv2.convertScaleAbs(scharry) # 转回uint8 cv2.imshow("original",o) cv2.imshow("y",scharry) cv2.waitKey() cv2.destroyAllWindows()

计算dx+dy

import cv2 import numpy as np o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE) scharrx = cv2.Scharr(o,cv2.CV_64F,1,0) scharry = cv2.Scharr(o,cv2.CV_64F,0,1) scharrx = cv2.convertScaleAbs(scharrx) # 转回uint8 scharry = cv2.convertScaleAbs(scharry) scharrxy = cv2.addWeighted(scharrx,0.5,scharry,0.5,0) cv2.imshow("original",o) cv2.imshow("xy",scharrxy) cv2.waitKey() cv2.destroyAllWindows()

错误示例:dx=1,dy=1 这点不同于sobel

import cv2 import numpy as np o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE) scharrxy11=cv2.Scharr(o,cv2.CV_64F,1,1) cv2.imshow("original",o) cv2.imshow("xy11",scharrxy11) cv2.waitKey() cv2.destroyAllWindows()

dx >= 0 && dy >= 0 && dx+dy == 1 在这里插入图片描述 注意: dst=cv2.Scharr(src,cv2.CV_64F,dx,dy) 等于 dst=cv2.Sobel(src,cv2.CV_64F,dx,dy,-1)

Sobel对一个卷积核参数,默认为3.当卷积核=-1时,表示Scharr函数

总目录链接: python3+opencv学习笔记汇总目录(适合基础入门学习)

进阶版梯度讲解: opencv进阶学习笔记10:图像金字塔和图像梯度 电气专业的计算机小白,写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3