人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 硬件軟件教程 > 詳細頁面

OpenCV2學習筆記(7): 使用Canny運算符檢測輪廓

OpenCV2學習筆記(7): 使用Canny運算符檢測輪廓

更新時間:2023-06-24 文章作者:未知 信息來源:網絡 閱讀次數:

根據運行的環境,操作系統可以分為桌面操作系統,手機操作系統,服務器操作系統,嵌入式操作系統等。

檢測電測聽怎么算正常_邊緣性行為算睡過嗎_canny算子邊緣檢測原理

在: 中,我們主要討論使用sobel算子和Laplace變換進行邊緣檢測. 其中,主要使用對梯度大小進行閾值化以獲得二值邊緣圖像的方法. 在圖像中,邊緣通常包含重要的視覺信息,因為它們勾勒出圖像元素的輪廓. 但是,僅使用簡單的二進制邊緣圖像有兩個主要缺點:

使用此方法檢測到的邊緣太厚,這意味著很難準確定位對象. 很難找到這樣的閾值,該閾值可以檢測所有足夠低的重要邊緣,并且同時不包含太多次的邊緣.

這兩個問題正是本節中使用的Canny算法試圖解決的問題.

邊緣性行為算睡過嗎_檢測電測聽怎么算正常_canny算子邊緣檢測原理

Canny運算符通常基于sobel運算符(盡管也可以使用其他梯度運算符),其核心思想是使用兩個不同的閾值來確定哪些點屬于輪廓,以便將兩個閾值分別劃分獲得兩個邊緣貼圖. 此后,Canny算法將兩個邊緣貼圖組合在一起以生成“最佳”輪廓圖. 如果存在連續的邊緣點,則將低閾值圖像中的邊緣點與高閾值圖像中的邊緣相連,然后保留低閾值圖像中的邊緣點. 這種使用雙閾值獲取二進制圖像的策略稱為磁滯閾值.

Canny算法對選擇兩個閾值有一定要求. 對于較低的閾值,它應包括被認為屬于明顯圖像輪廓的所有邊緣像素. 較高閾值的作用應該是定義屬于所有重要輪廓的邊緣,并且應排除所有異常值.

在OpenCV中,實現Canny算法的函數是cv :: Canny. 該函數的調用方法如下:

檢測電測聽怎么算正常_邊緣性行為算睡過嗎_canny算子邊緣檢測原理

cv::contours; 
cv::Canny(image,     // 輸入的灰度圖像
      contours,  // 輸出輪廓
      125,       // 低閾值
      200);      // 高閾值

主要代碼如下,直接將其添加到主要功能中

#include <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    cv::Mat image = cv::imread("c:/peng.jpg", 0);
    if(!image.data)
    {
        qDebug() << "No input image";
    }
    cv::Mat result;
    cv::Canny(image, result, 150, 220);
    cv::namedWindow("Original Image");
    cv::imshow("Original Image", image);
    cv::namedWindow("Canny Result");
    cv::imshow("Canny Result", result);
    return a.exec();
}

canny算子邊緣檢測原理_邊緣性行為算睡過嗎_檢測電測聽怎么算正常

效果:

技術分享

以下是Sobel運算符的輸出效果:

canny算子邊緣檢測原理_邊緣性行為算睡過嗎_檢測電測聽怎么算正常

技術分享

與Sobel運算符相比canny算子邊緣檢測原理,Canny運算符可以獲得更細的邊緣,因為Canny算法使用其他策略來提高圖像質量. 在使用滯后閾值之前canny算子邊緣檢測原理,應去除梯度大小不是最大值的所有邊緣點. 這樣,漸變的方向始終垂直于邊緣,因此該方向上的局部漸變最大值對應于輪廓強度最高的點. Canny算法適用于不同場合. 其參數允許根據不同實現的特定要求進行調整,以識別不同的邊緣特征.

此外,Canny算法包含許多可調參數,這將影響算法的計算時間和有效性.

高斯濾波器的大小: 第一步中使用的平滑濾波器將直接影響Canny算法的結果. 較小的濾鏡也會產生較少的模糊,因此可以檢測到變化較小的細線. 較大的濾鏡也會產生更多的模糊效果. 將圖像的較大區域繪制為特定點的顏色值. 這樣的結果對于檢測較大的平滑邊緣(例如彩虹邊緣)更有用.

閾值: 使用兩個閾值比使用一個閾值更靈活,但是閾值仍然存在一些常見問題. 如果閾值設置得太高,可能會丟失重要信息;如果閾值太低,則分支信息將被認為是重要的. 很難給出適用于所有圖像的通用閾值. 當前沒有經過驗證的實現方法.


本文來自本站,轉載請注明本文網址:
http://www.pc-fly.com/a/jisuanjixue/article-250359-1.html



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 迁西县| 青铜峡市| 崇明县| 饶阳县| 陕西省| 舒城县| 娄烦县| 深泽县| 新平| 云龙县| 易门县| 潮安县| 长沙市| 石狮市| 平谷区| 开远市| 庆云县| 紫阳县| 淮北市| 昌宁县| 富源县| 全椒县| 鄂伦春自治旗| 鄯善县| 潞西市| 县级市| 尚志市| 漯河市| 阳东县| 洛南县| 禹州市| 凭祥市| 毕节市| 万山特区| 陕西省| 新安县| 二连浩特市| 如皋市| 新平| 安陆市| 四平市|