|
|
²»ÊÇÀ´Ó¦ÖúµÄ£¬Ö»ÊÇ˵˵×Ô¼º¶ÔÕâ¸öÎÊÌâµÄÏë·¨£¬´óÉñÃÇ¿ÉÒÔ¼ÌÐøÓ¦Öú£¨àÅ£¬ÎÒ¾ÍÊÇÀ´´ò½´Ó͵ģ©
ÕâÀï´¦ÀíµÄͼÏñÊǺڰ׵썲ÊÉ«µÄÒªÂé·³ºÜ¶à£©£¬²»¹ýÔÊý¾ÝÓ¦¸Ã²»´æÔÚÕâ¸öÎÊÌâ
http://pan.baidu.com/s/1o68zf9g
ÎļþÃû£¨filter noise1.jpg£©
Ê×ÏÈ£¬Ëæ±ãÕÒÒ»¿îÈí¼þ£¬Ó¦¸ÃÊÇÈÎÒâÒ»¿îAFM µÄ¶ÁÈ¡Èí¼þ¶¼ÐУ¬ÕâÀïʹÓõÄÊÇImageJ£¨Ò»°ãÀ´½²²»ÊÇÓÃÀ´´¦ÀíAFMͼƬµÄ£¬µ«ÊÇÔÀíÊÇÒ»Öµģ©
ÕÒµ½Process¡·FFT¡·FFT¶ÔÔͼ½øÐиµÀïÒ¶±ä»»µÃµ½ÏÂͼ
ÎļþÃû£¨FFT of filter noise 1.jpg£©
½«ÊôÓÚÔëÒôµÄ²¿·ÖÍ¿ºÚ£¨ÆäʵӦ¸ÃÓÃinterpolationËãһϣ¬²»Ó¦Ö±½Ó¹éÁ㣬ÎÒÏÓÂé·³¾Íû×ö£¬Äã¿ÉÒÔÊÔÊÔ£©£¬ÓÐͼÈçÏÂ
ÎļþÃû£¨FFT of filter noise.jpg£©
ÕÒµ½Process¡·FFT¡·FFT°Ñ¸Ä¹ýµÄÕâÕÅͼ±ä»ØÈ¥£¬¾Í¿ÉÒÔÁË
ÎļþÃû£¨Inverse FFT of filter noise.jpg£©
ÈçÏÓÂé·³¿ÉÒÔ°ÑÖÜÆÚÔÚÔëÒôÒÔÏ£¨ÕâÕÅͼÖÐ20¸öpixel£©µÄ¶¼ÂËÈ¥£¬
ÕÒµ½Process¡·FFT¡·Bandpass filter,
Filter large structures down to 400pixels
Filter small structures up to 21pixels
µÃµ½ÏÂͼ
http://pan.baidu.com/s/1mgMatKk
¹ØÓÚÀíÏëÇé¿öÏÂÔëÒôÊǸöÕý½»º¯Êý£¨ÖÜÆÚ20pixels£©µÄÇé¿öÎÒ×öÁËÒÔϼÆËã
ÎļþÃû£¨Inverse FFT of filter noise.jpg£©
ͼÖеÚÒ»ÁÐΪÔͼºÍËûµÄ¸µÀïÒ¶±ä»»
µÚ¶þÁÐΪÌí¼ÓÔëÒôºóµÄͼºÍËûµÄ¸µÀïÒ¶±ä»»
±È½Ï¿ÉÒÔ·¢ÏÖ¸µÀïÒ¶±ä»»ºóÔëÒô·åµÄƵÂÊ
¸Ã´¦ÓÃÖÜΧµÄÇ¿¶ÈÌæ»»£¬½øÐиµÀïÒ¶±ä»»
µÃµ½µÚÈýÁеÄͼ
ºÍÔͼһÖ£¨ÒòÏÔʾÎÊÌâͼµßµ¹ÁË£©
¾ßÌåÔÀí¿ÉÓÃÈçÏÂpython³ÌÐò˵Ã÷
#!/usr/local/bin/python2.7.3 -tttt
import numpy
import matplotlib.pyplot as plt
import random
crosssection=numpy.zeros((521, 521), dtype=complex)+1
position=numpy.random.randint(20,355, size=(2, 10))
for i in range(10):
crosssection[position[0, i]-20:position[0, i]+20,position[1, i]-15:position[1, i]+15]=random.randint(1,10)
plt.subplot(3,2,1)
plt.imshow(numpy.absolute(crosssection),cmap=plt.cm.gray)
imgfft=numpy.fft.fft2(crosssection)
imgfft=numpy.fft.fftshift(imgfft)
plt.subplot(3,2,2)
plt.imshow(numpy.log10(numpy.absolute(imgfft)+1),cmap=plt.cm.gray)
noise=numpy.sin(numpy.arange(521*521,dtype=complex)*numpy.pi/10).reshape((521,521))*4
crosssection=crosssection+noise
plt.subplot(3,2,3)
plt.imshow(numpy.absolute(crosssection),cmap=plt.cm.gray)
imgfft=numpy.fft.fft2(crosssection)
imgfft=numpy.fft.fftshift(imgfft)
plt.subplot(3,2,4)
plt.imshow(numpy.log10(numpy.absolute(imgfft)+1),cmap=plt.cm.gray)
imgphase=numpy.angle(imgfft)
imgintensity=numpy.absolute(imgfft)
imgintensity[:,233:235]=imgintensity[:,230:232]
imgintensity[:,285:287]=imgintensity[:,288:290]
imgintensity[233:235,:]=imgintensity[230:232,:]
imgintensity[288:290,:]=imgintensity[288:290,:]
imgfftcal=numpy.multiply(numpy.absolute(imgintensity), numpy.exp(1j*imgphase))
plt.subplot(3,2,6)
plt.imshow(numpy.log10(numpy.absolute(imgfftcal)+1),cmap=plt.cm.gray)
imgcal=numpy.fft.fft2(imgfftcal)
plt.subplot(3,2,5)
plt.imshow(numpy.absolute(imgcal),cmap=plt.cm.gray)
plt.show() |
|