首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python 获取图像边缘轮廓

python 获取图像边缘轮廓

作者头像
贺公子之数据科学与艺术
发布2025-08-29 14:45:13
发布2025-08-29 14:45:13
1960
举报
在这里插入图片描述
在这里插入图片描述

欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199

import cv2 import numpy as np from matplotlib import pyplot as plt

读取图像

image = cv2.imread(‘image.jpg’)

灰度化处理

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

使用Canny边缘检测算法

edges = cv2.Canny(gray, 50, 150)

显示结果

plt.subplot(121), plt.imshow(gray, cmap=‘gray’) plt.title(‘Original Image’), plt.xticks([]), plt.yticks([])

plt.subplot(122), plt.imshow(edges, cmap=‘gray’) plt.title(‘Edge Image’), plt.xticks([]), plt.yticks([])

plt.show()

保存结果

cv2.imwrite(‘edge.jpg’, edges)

在这个代码示例中,我们首先读取了一张图像(请将’image.jpg’替换为你自己的图像路径)并将其转换为灰度图像。然后,我们使用Canny边缘检测算法来检测图像中的边缘。

Canny边缘检测算法是一种经典的边缘检测算法,它的主要思想是首先对图像进行高斯模糊,然后计算图像中的梯度,最后通过非最大抑制和双阈值处理来检测边缘。

在代码的下一部分,我们使用matplotlib库来显示原始图像和边缘图像。我们使用subplot函数创建一个子图来显示原始图像和边缘图像,并使用imshow函数显示图像。然后,我们使用title函数设置子图的标题,xticks和yticks函数来隐藏坐标轴。最后,我们使用show函数显示所有的子图。

最后,我们使用imwrite函数保存边缘图像为’edge.jpg’(请将’edge.jpg’替换为你自己的输出路径)。

得到图像的边缘轮廓,同时也可以保存边缘图像到本地。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 读取图像
  • 灰度化处理
  • 使用Canny边缘检测算法
  • 显示结果
  • 保存结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档