From 3f76e3503fc4ab91169ec57965ca08966c5e07ff Mon Sep 17 00:00:00 2001 From: Xi Xu Date: Sun, 5 May 2024 18:10:51 +0800 Subject: [PATCH] Add 3 --- 1/6.py | 1 + 1/7.py | 1 + 2/1.py | 4 ++++ 2/2.py | 3 +++ 2/3.py | 4 ++++ 2/4.py | 8 ++++++++ 2/5.py | 3 +++ 3/1.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 82 insertions(+) create mode 100644 3/1.py diff --git a/1/6.py b/1/6.py index a3532c0..00632ec 100644 --- a/1/6.py +++ b/1/6.py @@ -6,4 +6,5 @@ plt.rcParams["axes.unicode_minus"] = False img_BGR = cv.imread(r"img\iris.jpg") img_RGB = cv.cvtColor(img_BGR, cv.COLOR_BGR2RGB) plt.imshow(img_RGB) +plt.axis("off") plt.show() diff --git a/1/7.py b/1/7.py index 4ce9c53..ef8d831 100644 --- a/1/7.py +++ b/1/7.py @@ -30,6 +30,7 @@ if __name__ == "__main__": plt.subplot(1, 2, 1) plt.imshow(image0, vmin=0, vmax=255, cmap=plt.cm.gray) # type: ignore plt.title("idel image") + plt.axis("off") image_hist0 = histogram(image0) plt.subplot(1, 2, 2) plt.bar(range(256), image_hist0) diff --git a/2/1.py b/2/1.py index 5413d6d..f2bffb6 100644 --- a/2/1.py +++ b/2/1.py @@ -29,15 +29,19 @@ if __name__ == "__main__": plt.subplot(241) plt.imshow(im1, cmap="gray") plt.title("darker") + plt.axis("off") plt.subplot(242) plt.imshow(im2, cmap="gray") plt.title("brighter") + plt.axis("off") plt.subplot(243) plt.imshow(im3, cmap="gray") plt.title("lower contrast") + plt.axis("off") plt.subplot(244) plt.imshow(im4, cmap="gray") plt.title("equalized") + plt.axis("off") plt.subplot(245) plt.hist(im1.flatten(), 256, [0, 256]) # type: ignore plt.subplot(246) diff --git a/2/2.py b/2/2.py index 90f56fa..6888bc7 100644 --- a/2/2.py +++ b/2/2.py @@ -17,10 +17,13 @@ if __name__ == "__main__": plt.subplot(131) plt.imshow(im, cmap="gray") plt.title("original") + plt.axis("off") plt.subplot(132) plt.imshow(im1, cmap="gray") plt.title("gamma = 0.5") + plt.axis("off") plt.subplot(133) plt.imshow(im2, cmap="gray") plt.title("gamma = 1.5") + plt.axis("off") plt.show() diff --git a/2/3.py b/2/3.py index c30bd11..19f510c 100644 --- a/2/3.py +++ b/2/3.py @@ -16,13 +16,17 @@ if __name__ == "__main__": plt.subplot(221) plt.imshow(ImgSmoothed1, cmap="gray") plt.title("smoothed1") + plt.axis("off") plt.subplot(222) plt.imshow(ImgSmoothed2, cmap="gray") plt.title("smoothed2") + plt.axis("off") plt.subplot(223) plt.imshow(ImgSmoothed3, cmap="gray") plt.title("smoothed3") + plt.axis("off") plt.subplot(224) plt.imshow(ImgSharp, cmap="gray") plt.title("sharp") + plt.axis("off") plt.show() diff --git a/2/4.py b/2/4.py index d720da8..5ac4db6 100644 --- a/2/4.py +++ b/2/4.py @@ -46,25 +46,33 @@ if __name__ == "__main__": plt.subplot(241) plt.imshow(im1, cmap="gray") plt.title("salt and pepper") + plt.axis("off") plt.subplot(242) plt.imshow(im11, cmap="gray") plt.title("blur") + plt.axis("off") plt.subplot(243) plt.imshow(im12, cmap="gray") plt.title("median") + plt.axis("off") plt.subplot(244) plt.imshow(im13, cmap="gray") plt.title("gaussian") + plt.axis("off") plt.subplot(245) plt.imshow(im2, cmap="gray") plt.title("gaussian noise") + plt.axis("off") plt.subplot(246) plt.imshow(im21, cmap="gray") plt.title("blur") + plt.axis("off") plt.subplot(247) plt.imshow(im22, cmap="gray") plt.title("median") + plt.axis("off") plt.subplot(248) plt.imshow(im23, cmap="gray") plt.title("gaussian") + plt.axis("off") plt.show() diff --git a/2/5.py b/2/5.py index 804df09..d5b82f7 100644 --- a/2/5.py +++ b/2/5.py @@ -12,10 +12,13 @@ if __name__ == "__main__": plt.subplot(131) plt.imshow(img, cmap="gray") plt.title("original") + plt.axis("off") plt.subplot(132) plt.imshow(ImgLplc, cmap="gray") plt.title("laplacian") + plt.axis("off") plt.subplot(133) plt.imshow(ImgLplcEnhance, cmap="gray") plt.title("laplacian enhanced") + plt.axis("off") plt.show() diff --git a/3/1.py b/3/1.py new file mode 100644 index 0000000..9650ac8 --- /dev/null +++ b/3/1.py @@ -0,0 +1,58 @@ +import cv2 as cv +import numpy as np +import matplotlib.pyplot as plt + +plt.rcParams["font.family"] = ["SimSun"] +src = cv.imread(r"img\peppers.bmp", cv.IMREAD_GRAYSCALE) + +dft0 = cv.dft(np.float32(src), flags=cv.DFT_COMPLEX_OUTPUT) # type: ignore +row, col = src.shape[:2] +src1 = np.zeros((row, col), dtype=np.float32) +for i in range(row): + for j in range(col): + src1[i, j] = src[i, j] * ((-1) ** (i + j)) +dft1 = cv.dft(src1, flags=cv.DFT_COMPLEX_OUTPUT) +magnitude0 = cv.magnitude(dft1[:, :, 0], dft1[:, :, 1]) +magnitude1 = 20 * np.log(1 + magnitude0) # type: ignore +phase = cv.phase(dft1[:, :, 0], dft1[:, :, 1]) +idft0 = cv.idft(dft0) +idft1 = cv.magnitude(idft0[:, :, 0], idft0[:, :, 1]) + +fft2 = np.fft.fft2(src) +fftshift = np.fft.fftshift(fft2) +abs0 = np.abs(fftshift) +abs1 = 20 * np.log(1 + abs0) +angle = np.angle(fftshift) +ifft20 = np.fft.ifft2(fftshift) +ifft21 = np.abs(ifft20) + +plt.figure() +plt.subplot(2, 4, (1, 5)) +plt.title("输入图像") +plt.imshow(src, cmap="gray") +plt.axis("off") +plt.subplot(2, 4, 2) +plt.title("幅值谱(OpenCV)") +plt.imshow(magnitude1, cmap="gray") +plt.axis("off") +plt.subplot(2, 4, 3) +plt.title("相位谱(OpenCV)") +plt.imshow(phase, cmap="gray") +plt.axis("off") +plt.subplot(2, 4, 4) +plt.title("重构图像(OpenCV)") +plt.imshow(idft1, cmap="gray") +plt.axis("off") +plt.subplot(2, 4, 6) +plt.title("幅值谱(NumPy)") +plt.imshow(abs1, cmap="gray") +plt.axis("off") +plt.subplot(2, 4, 7) +plt.title("相位谱(NumPy)") +plt.imshow(angle, cmap="gray") +plt.axis("off") +plt.subplot(2, 4, 8) +plt.title("重构图像(NumPy)") +plt.imshow(ifft21, cmap="gray") +plt.axis("off") +plt.show()