当前位置: 首页 > news >正文

【OpenCV 基础知识 3】边缘检测

文章目录

    • cvCanny
    • 完整示例代码

cvCanny

这行代码使用OpenCV库中的 cvCanny 函数对灰度图像进行边缘检测。让我解释一下:

cvCanny(gray, dst, 10, 100, 3);
  1. gray: 这是输入的灰度图像,即要进行边缘检测的图像。
  2. dst: 这是输出的边缘图像,即将结果存储到的图像。
  3. 10: 这是Canny边缘检测算法的低阈值。像素梯度值低于该阈值的边缘点将被抑制。
  4. 100: 这是Canny边缘检测算法的高阈值。像素梯度值高于该阈值的像素将被认为是强边缘,而低于该阈值但高于低阈值的像素将根据连接性保留或抑制。
  5. 3: 这是Sobel运算符的内核大小,用于计算图像的梯度。在这里,内核大小为3,表示使用3x3的Sobel内核。

所以,整个行的作用是使用Canny边缘检测算法对输入的灰度图像进行边缘检测,并将结果存储在 dst 中。这是一种常见的图像处理操作,用于检测图像中的边缘结构。

完整示例代码

program cv_Canny;{$APPTYPE CONSOLE}
{$R *.res}usesSystem.SysUtils,ocv.highgui_c,ocv.core_c,ocv.core.types_c,ocv.imgproc_c,ocv.imgproc.types_c,uResourcePaths;constfilename = cResourceMedia + 'cat2.jpg';varimage: pIplImage = nil;gray: pIplImage = nil;dst: pIplImage = nil;begintryimage := cvLoadImage(filename);WriteLn(Format('[i] image: %s', [filename]));//创建两张纯灰图像gray := cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);dst := cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);cvNamedWindow('original', CV_WINDOW_AUTOSIZE);cvNamedWindow('gray', CV_WINDOW_AUTOSIZE);cvNamedWindow('cvCanny', CV_WINDOW_AUTOSIZE);// 灰度化图片cvCvtColor(image, gray, CV_RGB2GRAY);// 边缘检测cvCanny(gray, dst, 10, 100, 3);cvShowImage('original', image);cvShowImage('gray', gray);cvShowImage('cvCanny', dst);cvWaitKey(0);cvReleaseImage(image);cvReleaseImage(gray);cvReleaseImage(dst);cvDestroyAllWindows();excepton E: Exception doWriteLn(E.ClassName, ': ', E.Message);end;end.
http://www.lryc.cn/news/350307.html

相关文章:

  • 拓宽知识储备量(指数级成长)
  • x264 帧类型代价计算原理:slicetype_mb_cost 函数分析
  • 战网国际服加速器哪个好用 暴雪战网免费加速器分享
  • Java入门基础学习笔记26——break,continue
  • HNU-算法设计与分析-作业6
  • 2D Chests Assets - Mega Pack
  • 一种基于电场连续性的高压MOSFET紧凑模型,用于精确表征电容特性
  • vue阶段性测试题,内容丰富,案例典型,题目配有答案
  • 如何查看PC电脑已经已经连接上的网络WiFi密码?
  • Java 语言的特点分析及应用
  • Golang | Leetcode Golang题解之第84题柱状图中最大的矩形
  • linux实用命令
  • 创建和管理数据库
  • Spring STOMP-发送消息
  • kubernetes多master集群架构
  • MySQL数据库的初始化(创建库、创建表、向数据库添加测试数据)
  • hive动态分区
  • QT状态机10-QKeyEventTransition和QMouseEventTransition的使用
  • PDK安装及简介
  • 20240511每日运维----聊聊nignx改配置所有的nginx改完unknow
  • hive日常使用时忘记部分补充(不定时)
  • android 安全机制 和权限管理 的一点研究
  • Vue3.0 一些总结 【持续更新】
  • C++语法|对象的浅拷贝和深拷贝
  • 行为型模式
  • AI大模型日报#0515:Google I/O大会、 Ilya官宣离职、腾讯混元文生图大模型开源
  • 计算机网络-负载均衡算法
  • Excel Module: Iteration #1 EasyExcel生成下拉列表模版时传入动态参数查询下拉数据
  • 【回溯算法】【Python实现】TSP旅行售货员问题
  • Java处理xml