電鏡作業2的指令碼版本

2022-06-16 12:18:15 字數 2360 閱讀 2921

在終端輸入:

python 高斯低通濾波.py -i zhn.jpg -d 1.6667

1。正常不需要前面寫個python,但是cv2的庫需要我們自己去匯入,要給他乙個環境變數的指明

2. 檔案要和指令碼放到同一資料夾或給它正確的路徑

指令碼**如下:

#

author:zhanghaonan

import

cv2 as cv

import

numpy as np

from matplotlib import

pyplot as plt

import

matplotlib.image as mpimg

defgaussianlowfilter(image,d):

f =np.fft.fft2(image)

fshift =np.fft.fftshift(f)

s1 =np.log( np.abs( fshift ) )

defmake_transform_matrix(d):

transfor_matrix =np.zeros(image.shape)

center_point = tuple(map(lambda x:(x-1)/2,s1.shape))

for i in

range(transfor_matrix.shape[0]):

for j in range(transfor_matrix.shape[1]):

defcal_distance(pa,pb):

from math import

sqrt

dis = sqrt((pa[0]-pb[0])**2+(pa[1]-pb[1])**2)

return

dis dis =cal_distance(center_point,(i,j))

transfor_matrix[i,j] = np.exp(-(dis**2)/(2*(d**2)))

return

transfor_matrix

d_matrix =make_transform_matrix(d)

new_img = np.abs(np.fft.ifft2(np.fft.ifftshift(fshift*d_matrix)))

return

new_img

defdo_it(filename,distance):

img= cv.imread(filename,0)#

把你檔名輸入進來,尾綴必須有.jpg或.png

img_d1=gaussianlowfilter(img,distance)

plt.subplot(111)

plt.axis(

"off")

plt.imshow(img_d1,cmap="

gray")

plt.title(

'gaussianlow')

plt.show()

if__name__ == '

__main__':

import

argparse

parser =argparse.argumentparser(

description='

高斯濾波',

formatter_class=argparse.rawtexthelpformatter

)parser.add_argument( '-i

' , '

--input

' , help='

輸入你的**路徑')

parser.add_argument( '-d

' , '

--distance

' , help='

低通濾波大小(default = 1)

',type=float )

parser.add_argument( '-v

' , '

--version

' , action='

version

' , version='

v. 1.0')

args =parser.parse_args()

ifnot

args.input:

print( '

\nplease provide an input file.\n

'.format( 50 * '-'

) ) parser.print_help()

quit()

ifnot

args.distance:

args.distance=1do_it(args.input,args.distance)

用python寫了乙個文字版本的掃雷遊戲。

很簡單,注釋很詳細。附上。coding utf 8 import sys import random 地圖標記 map map blank 0 地圖空白 map mine 1 有雷存在 map used 2 已經排除 錯誤碼 error error ok 5 結果ok error fail 6 結果...

指令碼的故事(2)

本頁內容 知識就是力量 最後的思考 知識就是力量 好了,好了 站在走廊上往下看,看那些手中掌握實權的傢伙們。我們有時很難理解,他們的權利到底和他們所掌握的知識有什麼聯絡。雖然事實如此,但是盡量多地掌握你所能得到的知識和資訊畢竟不是一件壞事,這對於計算機安全這個問題尤其正確。你對於你的計算機以及它的設...

作業2的回答

using system using system.collections.generic using system.text namespace findthenumber for int64 i 1 i int64.maxvalue i else if hit 2 else break if h...