This commit is contained in:
xixu-me committed 2024-05-05 18:10:51 +08:00
1 parent 06ff05090b
commit 3f76e3503f
8 files changed
+82

No files matched your search

+1
View File
@@ -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()
+1
View File
@@ -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)
+4
View File
@@ -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)
+3
View File
@@ -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()
+4
View File
@@ -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()
+8
View File
@@ -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()
+3
View File
@@ -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()
+58
View File
@@ -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()