opencv Canny边缘检测


canny阈值越高,检测到的边缘数量越少

python 复制代码
# 导入OpenCV库,用于图像处理  
import cv2  
import numpy as np  
# 从matplotlib库中导入pyplot模块,用于绘制图像  
from matplotlib import pyplot as plt  
  
# 创建一个名为'window'的窗口,窗口大小自动调整  
cv2.namedWindow('window', cv2.WINDOW_AUTOSIZE)  # cv2.WINDOW_AUTOSIZE: 窗口大小自动调整,不允许用户改变窗口大小  
  
# 使用OpenCV的imread函数读取名为"mao.jpg"的图片,参数1表示读取彩色图像  
cat = cv2.imread("mao.jpg", 0)  # cat变量存储读取的图像数据,OpenCV默认以BGR格式读取  
  
# 在名为'window'的窗口中显示图像  
cv2.imshow('window', cat)  
  
sobelx = cv2.Sobel(cat,cv2.CV_64F,1,0,ksize=3)  
sobely = cv2.Sobel(cat,cv2.CV_64F,0,1,ksize=3)  
sobelx = cv2.convertScaleAbs(sobelx)  
sobely = cv2.convertScaleAbs(sobely)  
sobelxy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)  
  
scharrx = cv2.Scharr(cat,cv2.CV_64F,1,0)  
scharry = cv2.Scharr(cat,cv2.CV_64F,0,1)  
scharrx = cv2.convertScaleAbs(scharrx)  ![](https://gitee.com/lindongcms/blog/raw/master/img/202412131548505.png)
scharry = cv2.convertScaleAbs(scharry)  
scharrxy = cv2.addWeighted(sobelxy, 0.5, sobely, 0.5,0)  
  
laplacian = cv2.Laplacian(cat,cv2.CV_64F)  
laplacian = cv2.convertScaleAbs(laplacian)  
res = np.hstack((sobelxy,scharrxy,laplacian))  
cv2.imshow('window1', res)  
  
res1 = cv2.Canny(cat,80,150)  
res2 = cv2.Canny(cat,50,100)  
res = np.hstack((res1,res2))  
cv2.imshow('window3', res)  
key = cv2.waitKey(0)  
  
# 检查按下的键是否是'q',如果是则销毁所有窗口  
if key & 0xFF == ord('q'):  # 0xFF是掩码,用于确保只检查最低8位  
    print("准备销毁窗口")  
    cv2.destroyAllWindows()

检测效果图

相关推荐
算家计算9 分钟前
字节跳动开源Seed-OSS-36B:512K上下文,代理与长上下文基准新SOTA
人工智能·开源·资讯
THMAIL12 分钟前
大模型“知识”的外挂:RAG检索增强生成详解
人工智能
汀丶人工智能13 分钟前
AI Compass前沿速览:DINOv3-Meta视觉基础模型、DeepSeek-V3.1、Qwen-Image、Seed-OSS、CombatVLA-3D动
人工智能
范男16 分钟前
基于Pytochvideo训练自己的的视频分类模型
人工智能·pytorch·python·深度学习·计算机视觉·3d·视频
二向箔reverse24 分钟前
机器学习算法核心总结
人工智能·算法·机器学习
dundunmm1 小时前
【论文阅读】SIMBA: single-cell embedding along with features(2)
论文阅读·人工智能·embedding·生物信息·单细胞·多组学·细胞类型识别
金井PRATHAMA1 小时前
意象框架:连接感知与认知的统一信息结构分析——基于上古汉语同源词意义系统的词源学与认知语言学探索
人工智能·自然语言处理
聚客AI1 小时前
🧠深度解析模型压缩革命:减枝、量化、知识蒸馏
人工智能·深度学习·llm
SHIPKING3931 小时前
【机器学习&深度学习】Ollama、vLLM、LMDeploy对比:选择适合你的 LLM 推理框架
人工智能·深度学习·机器学习
zzywxc7872 小时前
AI 行业应用:金融、医疗、教育、制造业领域的落地案例与技术实现
android·前端·人工智能·chrome·金融·rxjava