opencv+python+数字图像处理入门 5/28

图像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) 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值