import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_GRAYSCALE)
print(img.shape)
#图像Canny边缘检测
#cv.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
#image:原图
#threshold1: 阈值1(最小值)
#threshold2:阈值2(最大值)
#edges: 图像边缘信息
#apertureSize: sobel算子卷积核大小
#L2gradient: True: 使用L2范数做梯度计算
# False: 使用L1范数做梯度计算
#参考资料:https://blog.csdn.net/weixin_42272768/article/details/111244896?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-111244896-blog-119821939.235%5Ev38%5Epc_relevant_default_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-111244896-blog-119821939.235%5Ev38%5Epc_relevant_default_base&utm_relevant_index=14
img_canny_thresholds1 = cv.Canny(img, 128, 140)
img_canny_thresholds2 = cv.Canny(img, 32, 128)
#显示图像
fig,axes = plt.subplots(nrows=1, ncols=3, figsize=(15,15), dpi=100)
axes[0].set_title("Original")
axes[0].imshow(img, cmap=plt.cm.gray)
axes[1].set_title("Canny Min:128 Max:140")
axes[1].imshow(img_canny_thresholds1, cmap=plt.cm.gray)
axes[2].set_title("Canny Min:32 Max:128")
axes[2].imshow(img_canny_thresholds2, cmap=plt.cm.gray)
Python Opencv实践 - Canny边缘检测
亦枫Leonlew2023-09-02 19:44
相关推荐
若亦_Royi21 分钟前
C++ 的大括号的用法合集KevinRay_23 分钟前
Python超能力:高级技巧让你的代码飞起来Captain823Jack1 小时前
nlp新词发现——浅析 TF·IDF资源补给站1 小时前
大恒相机开发(2)—Python软触发调用采集图像Captain823Jack1 小时前
w04_nlp大模型训练·中文分词m0_748247551 小时前
Web 应用项目开发全流程解析与实战经验分享6.942 小时前
Scala学习记录 递归调用 练习PieroPc2 小时前
Python 自动化 打开网站 填表登陆 例子FF在路上2 小时前
Knife4j调试实体类传参扁平化模式修改:default-flat-param-object: trueVinciYan3 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署