Roberts算子、Sobel算子

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

猜你喜欢

转载自blog.csdn.net/zuliang001/article/details/81478633