日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab canny边缘,matlab – 定向Canny边缘检测

發布時間:2024/10/5 循环神经网络 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab canny边缘,matlab – 定向Canny边缘检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

沒有辦法使用內置的

edge功能.但是,Canny邊緣檢測使用了

Sobel Operator的角度.很容易重現這些值.

>從圖像開始,我將使用內置的演示圖像.

A = im2double(rgb2gray(imread('peppers.png')));

>獲得Canny邊緣

A_canny = edge(A, 'Canny');

> Sobel運算符 – 我們不能使用內置實現(edge(A_filter,’Sobel’)),因為我們需要邊緣角度,而不僅僅是邊緣位置,因此我們實現了自己的運算符.

一個.高斯濾波器.這是Canny的預處理步驟,所以我們應該在這里重現它

A_filter = imgaussfilt(A);

灣卷積找到定向梯度

%These filters measure the difference in values between vertically or horizontally adjacent pixels.

%Effectively, this finds vertical and horizontal gradients.

vertical_filter = [-1 0 1; -2 0 2; -1 0 1];

horizontal_filter = [-1 -2 -1; 0 0 0; 1 2 1];

A_vertical = conv2(A_filter, vertical_filter, 'same');

A_horizontal = conv2(A_filter, horizontal_filter, 'same');

C.計算角度

A_angle = arctan(A_vertical./A_horizontal);

>獲取邊緣位置的角度值

A_canny_angles = nan(size(A));

A_canny_angles(A_canny) = A_angle(A_canny);

>選擇您感興趣的角度

angle_tolerance = 22.5/180*pi;

target_angle = 0;

A_target_angle = A_canny_angles >= target_angle*pi/180 - angle_tolerance & ...

A_canny_angles<= target_angle*pi/180 + angle_tolerance;

因此,如果我正在尋找水平線,我的目標角度將為零.下圖說明了步驟1,2,4和5.提取的水平線的最終結果顯示在右下角.您可以看到它們不是完全水平的,因為我使用了這么大的角度公差窗口.這是一個可調參數,具體取決于您想要達到目標角度的精確程度.

總結

以上是生活随笔為你收集整理的matlab canny边缘,matlab – 定向Canny边缘检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。