python图像边缘增强opencv_Python中使用OpenCV(CV2)对图像进行边缘检测

使用的模块:

为此,我们将使用opencv-python模块,该模块为我们提供了处理图像的各种功能。

下载opencv-pythonGeneral Way:

pip install opencv-python

Pycharm Users:

Go to the project Interpreter and install this module from there.

opencv-python模块:

opencv-python是一个python库,它将解决计算机视觉问题并为我们提供编辑图像的各种功能。

注意:仅在灰度图像中可以进行边缘检测。

我们将在此脚本中做什么?

为了检测图像的边缘,我们将使用opencv-python的各种功能并提供阈值。

在本文中,我们将借助各种功能来检测图像的边缘,并且当我们下降时边缘的精度会提高,Sobel 函数:此函数将创建水平和垂直边缘,然后,我们将使用按位或运算符将它们组合

Laplacian 函数:此函数是最简单的函数,只需要将灰度变量放入其中,就可以得到边缘检测到的图像。

Canny 函数:这是边缘检测功能最强大且最准确的功能。

让我们看一下代码:

1)使用Sobel函数# 导入模块

import cv2

# 读取图像并将数据存储在变量中

image=cv2.imread("/home/abhinav/PycharmProjects/untitled1/b.jpg")

# 使它成为灰度

Gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

# 在sobel的帮助下实现

# 使sobel_horizontal

# 对于水平x轴= 1和yaxis = 0

# 对于垂直x轴= 0和y轴= 1

Horizontal=cv2.Sobel(Gray,0,1,0,cv2.CV_64F)

# 门槛就像

# (variable,0,,,cv2.CV_64F)

Vertical=cv2.Sobel(Gray,0,0,1,cv2.CV_64F)

# 做按位运算

Bitwise_Or=cv2.bitwise_or(Horizontal,Vertical)# 显示边缘图像

cv2.imshow("Sobel Image",Bitwise_Or)

cv2.imshow("Original Image",Gray)

cv2.waitKey(0)cv2.destroyAllWindows()

输出:

17517e8a12d79cf14fba5c2da5689d6a.png

2)Laplacian函数# 导入模块

import cv2

# 读取图像并将数据存储在变量中

image=cv2.imread("/home/abhinav/PycharmProjects/untitled1/b.jpg")

# 使它成为灰度

Gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

# 使拉普拉斯函数

Lappy=cv2.Laplacian(Gray,cv2.CV_64F)

cv2.imshow("Laplacian",Lappy)

cv2.imshow("Original",Gray)

cv2.waitKey(0)cv2.destroyAllWindows()

输出:

46dde45d023a53e12e90fa067ed3713d.png

3)使用Canny函数# 导入模块

import cv2

# 读取图像并将数据存储在变量中

image=cv2.imread("/home/abhinav/PycharmProjects/untitled1/b.jpg")

# 使它成为灰度

Gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

# 使功能正常

canny=cv2.Canny(Gray,40,140)

# 阈值在bw 0和255之间变化

cv2.imshow("Canny",canny)

cv2.imshow("Original",Gray)

cv2.waitKey(0)cv2.destroyAllWindows()

输出:

00c93e225913b9df8686b54ff8c80234.png


版权声明:本文为weixin_30340269原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。