图像DFT变换(傅里叶变换) numpy实现
import numpy as np
import cv2
import matplotlib.pyplot as plt
img=cv2.imread('D:/lena.jpg',0) #取图像的灰度图
img32=np.float32(img) #先转换为float形式
f=np.fft.fft2(img32) #傅里叶变换函数,返回一个复数数组
fshift=np.fft.fftshift(f) #将零频率分量移到中心去
result=20*np.log(np.abs(fshift)) #设置频率范围
plt.subplot(121) #分栏函数
plt.imshow(img,plt.cm.gray) #第一个,显示灰度图
plt.title('原图') #命名标题
plt.axis('off')
plt.subplot(122)
plt.imshow(result,plt.cm.gray)
plt.title('DFT')
plt.axis('off')
plt.show() #show显示函数不要忘记
IDFT
import numpy as np
import cv2
import matplotlib.pyplot as plt
img=cv2.imread('D:/lena.jpg',0) #取图像的灰度图
img32=np.float32(img) #先转换为float形式
f=np.fft.fft2(img32) #傅里叶变换函数,返回一个复数数组
fshift=np.fft.fftshift(f) #将零频率分量移到中心去
ifshift=np.fft.ifftshift(fshift) #逆函数
img1=np.fft.ifft2(ifshift) #实现逆变换,返回复数数组
img2=np.abs(img1) #设置逆变换的范围
plt.subplot(121) #分栏函数
plt.imshow(img,plt.cm.gray) #第一个,显示灰度图
plt.title('原图') #命名标题
plt.axis('off')
plt.subplot(122)
plt.imshow(img2,plt.cm.gray)
plt.title('IDFT')
plt.axis('off')
plt.show() #show显示函数不要忘记
菜鸟教程:猜数字(输入数字)
number=15
guess=2 #s随便输入一个值,先定义一个变量,只是为了取guess而已
while guess != number:
guess=int(input('输入数字'))
if guess<number:
print('输入数字太小了')
elif guess>number:
print('输入数字太大了')
elif guess==number:
print('这回对了')
老师的编程题:计算1-1000以内所有奇数的和并输出
number=1
amo=0
while number<=1000: #循环条件,满足就会一直走下去,不满足就走另一条程序print
amo=amo+number
number=number+2
print(amo)
number=1
amo=0
while number<=10: #循环条件,满足就会一直走下去,不满足就走另一条程序print
amo=amo+number
number=number+1
print(number,'nonono') #数字和字符串一起输出,需要用逗号隔开,不可以直接+
else:
print(amo)