第3天 初识图像变换-canny边缘检测

1. 采样的定义:将一个信号(即时间或空间上的连续函数)转换成一个数值序列(即时间或空间上的离散函数)。

2. 香农采样定理:为了不失真地恢复模拟信号,采样频率应该大于模拟信号频谱中最高频率的2倍。

3. 梯度:~

3. canny边缘检测:

        Canny边缘检测算法可以分为以下5个步骤:
  1. 应用高斯滤波来平滑图像,目的是去除噪声
  2. 找寻图像的强度梯度(intensity gradients)
  3. 应用非最大抑制(non-maximum suppression)技术来消除边误检(本来不是但检测出来是)
  4. 应用双阈值的方法来决定可能的(潜在的)边界
  5. 利用滞后技术来跟踪边界

4. 高斯卷积核是实现尺度变换的唯一线性核

5. 代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
 
int main()
{
    Mat img_rgb, img_gry, img_pyd, img_cny;
 
    img_rgb = imread("/Users/xxxx/data/image_folder/玫瑰花.jpg");
 
    if(!img_rgb.data){
        cout << "加载图片失败!" << endl;
        return false;
    }
 
    cvtColor(img_rgb, img_gry, COLOR_BGR2GRAY);//转换为灰度空间
 
    pyrDown(img_gry, img_pyd);//降采样
    pyrDown(img_pyd, img_pyd);//再次降采样
 
    imshow("zzz", img_pyd);
 
    Canny(img_pyd, img_cny, 10, 100, 3);//对两次降采样后的灰度图进行边缘检测
 
    imshow("ccc", img_cny);
 
    waitKey(0);
 
    return 0;
}

6. 单位矩阵:

一种方阵,从左上角到右下角的对角线(主对角线)上的元素均为1,其余元素均为0。任何矩阵与单位矩阵相乘都等于本身。

7. 正交矩阵:

A和A的转置矩阵相乘,结果为单位矩阵,则n阶实矩阵A属于正交矩阵;

正交矩阵的逆矩阵等于它的转置矩阵;

正交矩阵用Q表示。

 

posted @   方山客  阅读(199)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示