這里的最好的分段輸入的運算可以通過計算模式來完成虛擬手段
創新互聯建站是創新、創意、研發型一體的綜合型網站建設公司,自成立以來公司不斷探索創新,始終堅持為客戶提供滿意周到的服務,在本地打下了良好的口碑,在過去的10多年時間我們累計服務了上千家以及全國政企客戶,如建筑動畫等企業單位,完善的項目管理流程,嚴格把控項目進度與質量監控加上過硬的技術實力獲得客戶的一致贊美。
jumpython分段函在python中可以進行不同函數的驗算應用,同學們只需要好好地了解學習,就能夠非常熟練的應用python中的各種功能。那今天讓我們來看一看python如何去做一個分段函數呢?1.首先同學們需要打開python,想好去做分段函數的第一步,就是需要打開一個空白的編輯器,打開了空白的編輯器,同學們才能夠更好地去進行操作。⒉.然后在空白的編輯器文件上編寫程序,以x為未知數,進行各種操作之后,記得一定要方便計算平方和開方,在最后也要寫好表達式,同學們一定要記錄好結果。這樣分段函數的程序就做好了,同學們可以利用這個程序進行簡單的計算。3.之后同學們可以再打開這個程序,輸入一些數字,最后在下面可以看到最終的結果。看到其中的過程就是分段函數計算的過程。在進行的過程中,只要操作沒有問題,那么結果和過程就是沒有問題的。本題目要求根據以下分段函數的定義,計算輸入的x對應的y值,輸出結果保留兩位小數;如果輸入的x是非數值型數據,輸出'Input Error'。注意:使用math庫輸入格式:在一行中輸入x的值。輸出格式:按“f(x) = result”的格式輸出,其中x與result都保留兩位小數,注意'='兩邊有空格。如果輸入的x是非數值型數據,輸出:Input Error執行代碼如下:try:import mathx=eval(input())if x0:print("f({:.2f}) = {:.2f}".format(x,math.log(x)+x**0.5))elif x=0:print("f(-{:.2f}) = 0.00".format(abs(x)))except NameError :print("Input Error")
¥
5.9
百度文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
jumpython分段函
數據空間Datespace
jumpython分段函
在python中可以進行不同函數的驗算應用,同學們只需要好好地了解學習,就能夠非常熟練的應用python中的各種功能。那今天讓我們來看一看python如何去做一個分段函數呢?
1.首先同學們需要打開python,想好去做分段函數的第一步,就是需要打開一個空白的編輯器,打開了空白的編輯器,同學們才能夠更好地去進行操作。
⒉.然后在空白的編輯器文件上編寫程序,以x為未知數,進行各種操作之后,記得一定要方便計算平方和開方,在最后也要寫好表達式,同學們一定要記錄好結果。這樣分段函數的程序就做好了,同學們可以利用這個程序進行簡單的計算。
第 1 頁
3.之后同學們可以再打開這個程序,輸入一些數字,最后在下面可以看到最終的結果。看到其中的過程就是分段函數計算的過程。在進行的過程中,只要操作沒有問題,那么結果和過程就是沒有問題的。
本題目要求根據以下分段函數的定義,計算輸入的x對應的y值,輸出結果保留兩位小數;如果輸入的x是非數值型數據,輸出'Input Error'。注意:使用math庫
輸入格式:
import CV2
import copy
import numpy as np
import random
使用的是pycharm
因為最近看了《銀翼殺手2049》,里面Joi實在是太好看了所以原圖像就用Joi了
要求是灰度圖像,所以第一步先把圖像轉化成灰度圖像
# 讀入原始圖像
img = CV2.imread('joi.jpg')
# 灰度化處理
gray = CV2.cvtColor(img, CV2.COLOR_BGR2GRAY)
CV2.imwrite('img.png', gray)
第一個任務是利用分段函數增強灰度對比,我自己隨便寫了個函數大致是這樣的
def chng(a):
if a 255/3:
b = a/2
elif a 255/3*2:
b = (a-255/3)*2 + 255/6
else:
b = (a-255/3*2)/2 + 255/6 +255/3*2
return b
rows = img.shape[0]
cols = img.shape[1]
cover = copy.deepcopy(gray)
for i in range(rows):
for j in range(cols):
cover[i][j] = chng(cover[i][j])
CV2.imwrite('cover.png', cover)
下一步是直方圖均衡化
# histogram equalization
def hist_equal(img, z_max=255):
H, W = img.shape
# S is the total of pixels
S = H * W * 1.
out = img.copy()
sum_h = 0.
for i in range(1, 255):
ind = np.where(img == i)
sum_h += len(img[ind])
z_prime = z_max / S * sum_h
out[ind] = z_prime
out = out.astype(np.uint8)
return out
covereq = hist_equal(cover)
CV2.imwrite('covereq.png', covereq)
在實現濾波之前先添加高斯噪聲和椒鹽噪聲(代碼來源于網絡)
不知道這個椒鹽噪聲的名字是誰起的感覺隔壁小孩都饞哭了
用到了random.gauss()
percentage是噪聲占比
def GaussianNoise(src,means,sigma,percetage):
NoiseImg=src
NoiseNum=int(percetage*src.shape[0]*src.shape[1])
for i in range(NoiseNum):
randX=random.randint(0,src.shape[0]-1)
randY=random.randint(0,src.shape[1]-1)
NoiseImg[randX, randY]=NoiseImg[randX,randY]+random.gauss(means,sigma)
if NoiseImg[randX, randY] 0:
NoiseImg[randX, randY]=0
elif NoiseImg[randX, randY]255:
NoiseImg[randX, randY]=255
return NoiseImg
def PepperandSalt(src,percetage):
NoiseImg=src
NoiseNum=int(percetage*src.shape[0]*src.shape[1])
for i in range(NoiseNum):
randX=random.randint(0,src.shape[0]-1)
randY=random.randint(0,src.shape[1]-1)
if random.randint(0,1)=0.5:
NoiseImg[randX,randY]=0
else:
NoiseImg[randX,randY]=255
return NoiseImg
covereqg = GaussianNoise(covereq, 2, 4, 0.8)
CV2.imwrite('covereqg.png', covereqg)
covereqps = PepperandSalt(covereq, 0.05)
CV2.imwrite('covereqps.png', covereqps)
下面開始均值濾波和中值濾波了
就以n x n為例,均值濾波就是用這n x n個像素點灰度值的平均值代替中心點,而中值就是中位數代替中心點,邊界點周圍補0;前兩個函數的作用是算出這個點的灰度值,后兩個是對整張圖片進行
#均值濾波模板
def mean_filter(x, y, step, img):
sum_s = 0
for k in range(x-int(step/2), x+int(step/2)+1):
for m in range(y-int(step/2), y+int(step/2)+1):
if k-int(step/2) 0 or k+int(step/2)+1 img.shape[0]
or m-int(step/2) 0 or m+int(step/2)+1 img.shape[1]:
sum_s += 0
else:
sum_s += img[k][m] / (step*step)
return sum_s
#中值濾波模板
def median_filter(x, y, step, img):
sum_s=[]
for k in range(x-int(step/2), x+int(step/2)+1):
for m in range(y-int(step/2), y+int(step/2)+1):
if k-int(step/2) 0 or k+int(step/2)+1 img.shape[0]
or m-int(step/2) 0 or m+int(step/2)+1 img.shape[1]:
sum_s.append(0)
else:
sum_s.append(img[k][m])
sum_s.sort()
return sum_s[(int(step*step/2)+1)]
def median_filter_go(img, n):
img1 = copy.deepcopy(img)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img1[i][j] = median_filter(i, j, n, img)
return img1
def mean_filter_go(img, n):
img1 = copy.deepcopy(img)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img1[i][j] = mean_filter(i, j, n, img)
return img1
完整main代碼如下:
if __name__ == "__main__":
# 讀入原始圖像
img = CV2.imread('joi.jpg')
# 灰度化處理
gray = CV2.cvtColor(img, CV2.COLOR_BGR2GRAY)
CV2.imwrite('img.png', gray)
rows = img.shape[0]
cols = img.shape[1]
cover = copy.deepcopy(gray)
for i in range(rows):
for j in range(cols):
cover[i][j] = chng(cover[i][j])
CV2.imwrite('cover.png', cover)
covereq = hist_equal(cover)
CV2.imwrite('covereq.png', covereq)
covereqg = GaussianNoise(covereq, 2, 4, 0.8)
CV2.imwrite('covereqg.png', covereqg)
covereqps = PepperandSalt(covereq, 0.05)
CV2.imwrite('covereqps.png', covereqps)
meanimg3 = mean_filter_go(covereqps, 3)
CV2.imwrite('medimg3.png', meanimg3)
meanimg5 = mean_filter_go(covereqps, 5)
CV2.imwrite('meanimg5.png', meanimg5)
meanimg7 = mean_filter_go(covereqps, 7)
CV2.imwrite('meanimg7.png', meanimg7)
medimg3 = median_filter_go(covereqg, 3)
CV2.imwrite('medimg3.png', medimg3)
medimg5 = median_filter_go(covereqg, 5)
CV2.imwrite('medimg5.png', medimg5)
medimg7 = median_filter_go(covereqg, 7)
CV2.imwrite('medimg7.png', medimg7)
medimg4 = median_filter_go(covereqps, 7)
CV2.imwrite('medimg4.png', medimg4)
了解下什么是函數哈
你可以直接寫
def f(x):
if x 5:
return x
if 1 x = 5:
return x + 1
if -3 x = 1:
return 0.5 * x + 1
return x - 1
# 以下為輸入和調用
x = int(inpit())
res = f(x)
print(res)
分段函數的代碼用python實現如下:
x=eval(input('輸入x的值:'))
if x!=0:
y=1/(2*x-1)
else:
y=0
print(y)
x = int(input('請輸入x的值:'))
if x5:
print('y =',x+5)
elif? 5 = x 10:
print('y =',x*2)
elif x = 10:
print('y =',x**3)
本文題目:python分段函數快速,分段函數的python語句
文章出自:http://m.kartarina.com/article28/hdddjp.html
成都網站建設公司_創新互聯,為您提供手機網站建設、電子商務、、ChatGPT、虛擬主機、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯