越叠加越黑
越叠加越白
每张图都有长宽高,然后三层叠起来 。
混色操作就是两张图的像素点进行相加平均
不要用大卷积核去卷积一张小的图片
把椒盐噪声 黑点和白点随机分布在这张图片上
标准差代表了是尖锐的高峰还是平缓的高峰 不同方向上的一阶导数拼到一块就是梯度。
边缘明显的特征被找出,两张图叠加在了一起
大尺度上面找小特征,小尺度上找明显的特征 原图先高斯模糊再下采样,变换后的图先上采样再高斯模糊,两者相减的图为拉普拉斯金字塔
变小的图变大时先上采样再高斯模糊,然后加上拉普拉斯金字塔即为原图。
拉普拉斯金字塔就是高频信息的保存
时域上的叠加 频域上的叠加 越远离中心主体的部分,频率就越高,去掉高频的就只剩下中心主体的部分,反过来就只剩下外面高频的部分。
随着时间的变化,频率会变密;无法判断原图到底是如何叠加的 频率分辨率高的时候时间分辨率一定低,反之。
# f1
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('/others/opencv.png',0) #直接读为灰度图像
for i in range(2000): #添加点噪声
temp_x = np.random.randint(0,img.shape[0])
temp_y = np.random.randint(0,img.shape[1])
img[temp_x][temp_y] = 255
blur_1 = cv2.GaussianBlur(img,(5,5),0)
blur_2 = cv2.medianBlur(img,5)
plt.subplot(1,3,1),plt.imshow(img,'gray')#默认彩色,另一种彩色bgr
plt.subplot(1,3,2),plt.imshow(blur_1,'gray')
plt.subplot(1,3,3),plt.imshow(blur_2,'gray')
plt.show()
# f2
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('/others/dave.png',0)
laplacian = cv.Laplacian(img,cv.CV_64F)
sobelx = cv.Sobel(img,cv.CV_64F,1,0,ksize=5)
sobely = cv.Sobel(img,cv.CV_64F,0,1,ksize=5)
plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,2),plt.imshow(laplacian,cmap = 'gray')
plt.title('Laplacian'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])
plt.show()
# f3
import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
img = cv.imread('/others/opencv.png',0)
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20*np.log(np.abs(fshift))
plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(magnitude_spectrum, cmap = 'gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.show()
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('timg.jpg',0) #直接读为灰度图像
res = cv2.equalizeHist(img)
clahe = cv2.createCLAHE(clipLimit=2,tileGridSize=(10,10))
cl1 = clahe.apply(img)
plt.subplot(131),plt.imshow(img,'gray')
plt.subplot(132),plt.imshow(res,'gray')
plt.subplot(133),plt.imshow(cl1,'gray')
plt.show()