OpenCV学习之图像梯度算子详解-世界播报
(资料图)
目录
1.Sobel算子2.Scharr算子3.laplacian算子本文是OpenCV图像视觉入门之路的第12篇文章,本文详细的介绍了图像梯度算子的各种操作,例如:Sobel算子Scharr算子laplacian算子等操作。
1.Sobel算子
Sobel算子是一种图像边缘检测算子,它是一种空间滤波器,可以检测图像中的边缘,而梯度运算是一种求导数的方法,可以用来检测图像中的局部变化。
import cv2 import numpy as np from numpy import unicode if __name__ == "__main__": # 不同算子的差异 img = cv2.imread("D:/Jupyter_Notebooks/0.jpg", cv2.IMREAD_GRAYSCALE) sobel_x = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3) sobel_y = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3) sobel_x = cv2.convertScaleAbs(sobel_x) sobel_y = cv2.convertScaleAbs(sobel_y) sobel_xy = cv2.addWeighted(sobel_x, 0.5, sobel_y, 0.5, 0) cv2.imshow("sobel_xy", sobel_xy) img = cv2.imread("D:/Jupyter_Notebooks/0.jpg", cv2.IMREAD_GRAYSCALE) cv2.imshow("img", img) cv2.waitKey(0) cv2.destroyAllWindows()
2.Scharr算子
Sobel算子是一种图像边缘检测算法,它可以检测图像中的水平边缘和垂直边缘。它使用卷积核来检测图像中的边缘,并且可以检测出图像中的细微变化。OpenCV是一个计算机视觉库,它提供了一系列的函数,可以用来处理图像,包括Sobel算子。OpenCV提供了一系列的函数,可以用来处理图像,包括Sobel算子,但它也提供了其他的图像处理算法,如Canny边缘检测算法,Hough变换算法等。
import cv2 import numpy as np from numpy import unicode if __name__ == "__main__": img = cv2.imread("D:/Jupyter_Notebooks/0.jpg", cv2.IMREAD_GRAYSCALE) 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) cv2.imshow("scharrxy", scharrxy) img = cv2.imread("D:/Jupyter_Notebooks/0.jpg", cv2.IMREAD_GRAYSCALE) cv2.imshow("img", img) cv2.waitKey(0) cv2.destroyAllWindows()
3.laplacian算子
Laplacian算子是一种图像处理技术,它可以用来检测图像中的边缘和轮廓。它是一种二阶微分算子,可以用来检测图像中的边缘,并且可以用来检测图像中的噪声。它的基本原理是,它会计算图像中每个像素点的梯度,并且根据梯度的大小来检测图像中的边缘。
import cv2 import numpy as np from numpy import unicode if __name__ == "__main__": img = cv2.imread("D:/Jupyter_Notebooks/0.jpg", cv2.IMREAD_GRAYSCALE) laplacian = cv2.Laplacian(img, cv2.CV_64F) laplacian = cv2.convertScaleAbs(laplacian) cv2.imshow("laplacian", laplacian) img = cv2.imread("D:/Jupyter_Notebooks/0.jpg", cv2.IMREAD_GRAYSCALE) cv2.imshow("img", img) cv2.waitKey(0) cv2.destroyAllWindows()
到此这篇关于OpenCV学习之图像梯度算子详解的文章就介绍到这了,更多相关OpenCV图像梯度算子内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?