matlab中edge的用法,matlab中的edge函式入口引數如何設定?

2021-09-08 16:32:08 字數 3404 閱讀 9958

1樓:沐振銳成歌

bw=edge(i)

採用灰度或一個二值化影象i作為它的輸入,並返回一個與i相同大小的二值化影象bw,在函式檢測到邊緣的地方為1,其他地方為0。bw=

edge(i,'sobel')

自動選擇閾值用sobel運算元進行邊緣檢測。bw=

edge(i,'sobel',thresh)

根據所指定的敏感度閾值thresh,用sobel運算元進行邊緣檢測,它忽略了所有小於閾值的邊緣。當thresh為空時,自動選擇閾值。bw=

edge(i,'sobel',thresh,direction)

根據所指定的敏感度閾值thresh,在所指定的方向direction上,用sobel

運算元進行邊緣檢測。direction可取的字串值為horizontal(水平方向)、vertical(垂直方向)或both(兩個方向)。

[bw,thresh]

=edge(i,'sobel',...)

返回閾值bw=

edge(i,'prewitt')

自動選擇閾值用prewitt運算元進行邊緣檢測。bw=

edge(i,'prewitt',thresh)

根據所指定的敏感度閾值thresh,用prewitt運算元進行邊緣檢測,它忽略了所有小於閾值的邊緣。當thresh為空時,自動選擇閾值。bw=

edge(i,'prewitt',thresh,direction)

根據所指定的敏感度閾值thresh,在所指定的方向direction上,用prewitt運算元進行邊緣檢測。direction可取的字串值為horizontal(水平方向)、vertical(垂直方向)或both(兩個方向)預設方向為both。

[bw,thresh]

=edge(i,'prewitt',...)

返回閾值bw=

edge(i,'roberts')

自動選擇閾值用roberts運算元進行邊緣檢測。bw=

edge(i,'roberts',thresh)

根據所指定的敏感度閾值thresh,用roberts運算元進行邊緣檢測,它忽略了所有小於閾值的邊緣。當thresh為空時,自動選擇閾值。

matlab中文論壇

[bw,thresh]

=edge(i,'roberts',...)

返回閾值bw=

edge(i,'log')

自動選擇閾值用log運算元進行邊緣檢測。

……很多啊,你還是help

edge一下,裡面有很多舉例。

2樓:

edge函式不能接收二進位制**,若是**格式為.tiff就直接可以用,

二進位制影象可以使用bwperim,但是是尋找影象的周邊的.

如果你一定要使用edge函式,可以使用double強制把你的二進位制影象轉換成double型的.

例如:ijpg = imread('1.jpg'); %讀取影象bw1=im2bw(ijpg,0.95);

bw2=double(bw1);

bw3=edge(bw2,'sobel');

3樓:匿名使用者

你可以參考help文件,有例子參考!

matlab中的edge函式入口引數如何設定?

4樓:匿名使用者

底下不是有錯誤分析嘛。要將資料格式轉化為double, single, uint8, uint16, uint32, int8, int16, int32, logical這幾種型別。

5樓:

這種情況下建議用bwperim來提取邊緣

6樓:戰狼

i= imread('d:\abc.jpg'); %讀入影象

matlab中break的用法

7樓:娛樂小八卦啊

break與continue的作用主要是終止迴圈。

break的作用主要用於終止包含它的最內部的那個迴圈for迴圈,但是也可以用於while迴圈;continue可以跳過單次迴圈。

break終止執行for或while迴圈。不執行迴圈中在break語句之後顯示的語句。

在巢狀迴圈中,break僅從它所發生的迴圈中退出。控制傳遞給該迴圈的end之後的語句。

提示1、break 語句完全退出 for 或 while 迴圈。要跳過迴圈中的其餘指令,並開始下一次迭代,請使用 continue 語句。

2、break 不是在 for 或 while 迴圈之外定義的。要退出函式,請使用 return。

擴充套件資料

break 和continue區別:

break和continue都是用來控制迴圈結構的,主要是停止迴圈。

break:

有時候我們想在某種條件出現的時候終止迴圈而不是等到迴圈條件為false才終止。

這時我們可以使用break來完成。break用於完全結束一個迴圈,跳出迴圈體執行迴圈後面的語句。

var str = "hello";

for (var item of str)

console.log(item);  // h e

}continue:continue和break有點類似,區別在於continue只是終止本次迴圈,接著還執行後面的迴圈,break則完全終止迴圈。可以理解為continue是跳過當次迴圈中剩下的語句,執行下一次迴圈。

var str = "hello";

for (var item of str)

console.log(item);  // h e o}

8樓:橙子好酸

是可以的; 在 for 迴圈或 while 迴圈結構中,有時並不需要執行到最後一次迴圈使用者就已經得到了所需要的結果,那麼後面的迴圈就變得多餘了,消耗了運算時間,並佔用了記憶體。 break 指令可進行對for 迴圈或 while 迴圈結構的終止,通過使用 break 指令,可以不必等迴圈的預定結束時刻,而是根據迴圈內部設定的終止項來判斷。若終止項滿足,則可以使用 break 中立退出迴圈。

若終止項未滿足,則照常執行至迴圈的預定結束時刻。

a(1)=1;

a(2)=1;

n=1000;

for i=3:n

a(i)=a(i-1)+a(i-2);

if a(i)>9999

[ i,a(i)]

break

endend

ans =

21 10946

9樓:隨墨楓飛

在matlab中,break 命令可以使包含 break 的最內層的 for 或 while 語句強制終止,立即跳出該結構,執行end 後面的命令;

break 命令一般也和 if 結構結合使用。

matlabint函式用法,matlab中int函式怎樣用

是計算積分的,例如 將5 x 1 x 2 x 3 從4積分到5 在matlab 中輸入程式 syms x 定義符號 f 5 x 1 x 2 x 3 定義被積函式 f 5 x 1 x 2 x 3 f int f,x,4,5 求函式f 對符號變數x 從4 到5 的定積分 f 25 2 log 2 15 ...

MATLAB中的m檔案怎麼把字尾 M改成小寫的 m

1 檢查抄 語法 襲 jdbc mysql hostname port dbname param1 value1 m2 value2 示例 jdbc mysql localhost 檢查資料bai庫驅動,看du 是不zhi是沒驅動或驅動不對dao matlab 的 m 檔案的命名區不區分大小寫的 變...

matlab中函式式M檔案怎樣編寫

開啟matlab,然後點左上方的file 選擇new,裡面就有m檔案 這個類似函式的,不好說啊。你找本書看看吧 請教關於matlab中的m函式和m檔案的程式編寫,謝謝!函式檔案 function myfun a,b,c x b 2 a 5 0.1 b 2 a 5 y a x.2 b x c plot...