Prewitt運算元的運用

2021-07-03 20:09:16 字數 1457 閱讀 4250

是一種一階微分運算元的邊緣檢測,利用畫素點上下、左右鄰點的灰度差,在邊緣處達到

極值檢測邊緣,去掉部分偽邊緣,對雜訊具有平滑作用 。其原理是在影象空間利用兩個方向模板與圖

像進行鄰域卷積來完成的,這兩個方向模板乙個檢測水平邊緣,乙個檢測垂直邊緣。

對數字影象f(x,y),prewitt運算元的定義如下:

g(i)=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|

g(j)=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|

則 p(i,j)=max[g(i),g(j)]或 p(i,j)=g(i)+g(j)

經典prewitt運算元認為:凡灰度新值大於或等於閾值的畫素點都是邊緣點。即選擇適當的閾值t,若p(i,j)≥t,則(i,j)為邊緣點,p(i,j)為邊緣影象。這種判定是欠合理的,會造成邊緣點的誤判,因為許多雜訊點的灰度值也很大,而且對於幅值較小的邊緣點,其邊緣反而丟失了。

title('原影象');

%% x方向

[m n]=size(i);

i1=zeros(m,n);

gx=[1 1 1;0 0 0;-1 -1 -1];

gy=[-1 0 1;-1 0 1;-1 0 1];

for i=2:m-1

for j=2:n-1

for k=-1:1

for p=-1:1

i1(i,j)=i1(i,j)+i(i+k,j+p)*gx(k+2,p+2);

endend

endend

subplot(2,2,2);

imshow(i1,);

%%%% y方向

i2=zeros(m,n);

for i=2:m-1

for j=2:n-1

for k=-1:1

for p=-1:1

i2(i,j)=i2(i,j)+i(i+k,j+p)*gy(k+2,p+2);

endend

endend

subplot(2,2,3);

imshow(i2,);

%% prewit 運算元

i3=zeros(m,n);

for i=2:m-1

for j=2:n-1

i3(i,j)=i1(i,j)+i2(i,j);

endend

subplot(2,2,4);

imshow(abs(i3),);

運算元的分類和 寬依賴運算元 窄依賴運算元

過濾 rdd t rdd t 窄依賴 rdd t rdd o 窄依賴 rdd t rdd o 一對多 窄依賴,抽樣運算元 rdd t rdd o 窄依賴 rdd t rdd t 根據你指定的內容排序 寬依賴 根據你的k排序,要求rdd中必須是kv的,寬依賴 根據rdd的k分組之後聚合 累加,字串連線...

方法的運用 強效方法的實際運用

瑪爾西 席莫芙 真正過著這種神奇生活的人,與不是如此生活的人,差別只在 真正過著神奇生活的人已經習慣這種存在的方式,他們已經習慣運用吸引力法則,不論走到哪兒,奇蹟都會發生在他們身上,因為他們記得要使用它。他們一直在使用它,而不是只做一次就算了。這裡有兩個真實的故事,把強有力的吸引力法則及宇宙完美無瑕...

pushpop指令的運算元必須是字運算元 指令格式

指令字長 整個指令的長度,與機器字長沒有固定關係。通常把指令字長 機器字長的指令稱為單字長指令,同理還有半字長指令和雙字長指令。在乙個指令系統 指令集 arm,x86 中,若所有指令的長度都相等,則稱為定長指令字結構。定長指令的執行速度快,控制簡單。同樣與之對應的有變長指令字結構。由於主存一般是按位...