灰阶图像的扩张方法有哪些实现?

时间:2018-06-16 09:05:50

标签: python-3.x image-processing image-morphology

我制作了一个程序来实现灰度图像的扩张方法,而不使用任何预定义的函数。这是我在python中编写的代码:

import cv2 as cv
import numpy as np

img = cv.imread('dil.png', 0)
cv.imshow('Original', img)

def find_max(k):
        mx = k[0]
        for i in range(1, len(k)):
            if k[i] > mx:
            mx = k[i]
        return mx


mask=[0]*9
mask[0] = 0
mask[1] = 1
mask[2] = 0
mask[3] = 1
mask[4] = 1
mask[5] = 1
mask[6] = 0
mask[7] = 1
mask[8] = 0

for m in range(1, img.shape[0]-1):
    for n in range(1, img.shape[1]-1):
        mask[6] += img[m-1,n-1] 
        mask[7] += img[m,n-1]
        mask[8] += img[m+1,n-1] 
        mask[3] += img[m-1,n]
        mask[4] += img[m,n]
        mask[5] += img[m+1,n]
        mask[0] += img[m-1,n+1]
        mask[1] += img[m,n+1]
        mask[2] += img[m+1,n+1]

        u = find_max(mask)
        img[m,n]= u
cv.imshow('Dilated', img)
cv.waitKey(0)
cv.destroyAllWindows()

我在这里用3X3内核。如果还有其他错误,请更正。我是一名初学者,只是好奇地在不使用直接功能的情况下完成了这项工作。

0 个答案:

没有答案