Add 3
This commit is contained in:
1 parent
06ff05090b
commit
3f76e3503f
8 files changed
+82
No files matched your search
@@ -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()
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
Reference in new issue
Block a user