Roberts算子
作用模板为:
Sobel算子
作用模板为:
设图像为:
用Roberts算子对其进行锐化,写出锐化过程和结果。
Sobel算子对其进行锐化,写出锐化过程和结果。
import numpy as np
d=np.array([[3,3,3,3,3],[3,8,7,6,3],[3,6,0,5,3],[3,7,8,4,3],[3,8,3,3,3]])
def mySobel(myArray,x,y):
Dx = (myArray[x+1,y-1]-myArray[x-1,y-1])+2*(myArray[x+1,y]-myArray[x-1,y])+(myArray[x+1,y+1]-myArray[x-1,y+1])
Dy = (myArray[x-1,y+1]-myArray[x-1,y-1])+2*(myArray[x,y+1]-myArray[x,y-1])+(myArray[x+1,y+1]-myArray[x+1,y-1])
r = (Dx**2+Dy**2)**0.5
return r
for i in range(1,len(d)-1):
for j in range(1,len(d)-1):
print("({0},{1})→".format(i+1,j+1),int(mySobel(d,i,j)))
输出:
(2,2)→ 5
(2,3)→ 5
(2,4)→ 5
(3,2)→ 3
(3,3)→ 7
(3,4)→ 4
(4,2)→ 9
(4,3)→ 13
(4,4)→ 7