new_pixel = 0

            for i in range(-1, 2):
                for j in range(-1, 2):
                    if i == 0 or j == 0:
                        members1.append(img[x + i, y + j])  # 중간값을찾는다.
                    if (i != 0 and j != 0) or (i == 0 and j == 0):
                        members2.append(img[x + i, y + j])  # 중간값을찾는다.
            members1.sort()
            members2.sort()
            members3 = [members1[2], members2[2], img[x, y]]
            members3.sort()
            new_pixel = members3[1]
            # print(int(new_pixel),end=' ')

            new_img.itemset(x, y, new_pixel)

        # print()
    return new_img


if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')
    noise = salt_pepper.salt_pepper(img)
    new_img = h_median(img)
    cv2.imshow('img', img)
    cv2.imshow('noise', noise)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
import cv2
import numpy as np
import openimg
import immask


def gaussian_smooth_mask(mode=0):
    mask = [[[1 / 16, 1 / 8, 1 / 16], [1 / 8, 1 / 4, 1 / 8],
             [1 / 16, 1 / 8, 1 / 16]],
            [[1 / 273, 4 / 273, 7 / 273, 4 / 273, 1 / 273],
             [4 / 273, 16 / 273, 26 / 273, 16 / 273, 4 / 273],
             [7 / 273, 26 / 273, 41 / 273, 26 / 273, 7 / 273],
             [4 / 273, 16 / 273, 26 / 273, 16 / 273, 4 / 273],
             [1 / 273, 4 / 273, 7 / 273, 4 / 273, 1 / 273]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')
    new_img = immask.img_mask(img, gaussian_smooth_mask(1))
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
Exemple #3
0
    G = np.zeros((row, col), dtype=np.complex)

    print(row, col)

    for l in range(row):
        print(l)
        for k in range(col):
            v = 0
            for n in range(row):
                for m in range(col):
                    v += img[n, m] * \
                        np.exp(-2j * np.pi * (m * k / row + n * l / col))
            G[l, k] = v / (row * col)

    return G


img = openimg.gray_imload("Lenna.png")
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum1 = 20 * np.log(np.abs(f))
magnitude_spectrum2 = 20 * np.log(np.abs(fshift))

plt.subplot(131), plt.imshow(img, cmap='gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(132), plt.imshow(magnitude_spectrum1, cmap='gray')
plt.title('fft'), plt.xticks([]), plt.yticks([])
plt.subplot(133), plt.imshow(magnitude_spectrum2, cmap='gray')
plt.title('fft_suffle'), plt.xticks([]), plt.yticks([])
plt.show()
Exemple #4
0
import cv2
import numpy as np
import openimg
import toBinary
import 침식
import 팽창

img = toBinary.toBinary(openimg.gray_imload("Lenna.png"))
new_img = 팽창.pangchang(침식.chimsick(img))

cv2.imshow("binary", img)
cv2.imshow("mopology", new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()