這里的最好的分段輸入的運算可以通過計算模式來完成虛擬手段
創(chuàng)新互聯(lián)建站是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的10多年時間我們累計服務(wù)了上千家以及全國政企客戶,如建筑動畫等企業(yè)單位,完善的項目管理流程,嚴(yán)格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致贊美。
jumpython分段函在python中可以進行不同函數(shù)的驗算應(yīng)用,同學(xué)們只需要好好地了解學(xué)習(xí),就能夠非常熟練的應(yīng)用python中的各種功能。那今天讓我們來看一看python如何去做一個分段函數(shù)呢?1.首先同學(xué)們需要打開python,想好去做分段函數(shù)的第一步,就是需要打開一個空白的編輯器,打開了空白的編輯器,同學(xué)們才能夠更好地去進行操作。⒉.然后在空白的編輯器文件上編寫程序,以x為未知數(shù),進行各種操作之后,記得一定要方便計算平方和開方,在最后也要寫好表達式,同學(xué)們一定要記錄好結(jié)果。這樣分段函數(shù)的程序就做好了,同學(xué)們可以利用這個程序進行簡單的計算。3.之后同學(xué)們可以再打開這個程序,輸入一些數(shù)字,最后在下面可以看到最終的結(jié)果??吹狡渲械倪^程就是分段函數(shù)計算的過程。在進行的過程中,只要操作沒有問題,那么結(jié)果和過程就是沒有問題的。本題目要求根據(jù)以下分段函數(shù)的定義,計算輸入的x對應(yīng)的y值,輸出結(jié)果保留兩位小數(shù);如果輸入的x是非數(shù)值型數(shù)據(jù),輸出'Input Error'。注意:使用math庫輸入格式:在一行中輸入x的值。輸出格式:按“f(x) = result”的格式輸出,其中x與result都保留兩位小數(shù),注意'='兩邊有空格。如果輸入的x是非數(shù)值型數(shù)據(jù),輸出:Input Error執(zhí)行代碼如下: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限時優(yōu)惠現(xiàn)在開通,立享6億+VIP內(nèi)容
立即獲取
jumpython分段函
數(shù)據(jù)空間Datespace
jumpython分段函
在python中可以進行不同函數(shù)的驗算應(yīng)用,同學(xué)們只需要好好地了解學(xué)習(xí),就能夠非常熟練的應(yīng)用python中的各種功能。那今天讓我們來看一看python如何去做一個分段函數(shù)呢?
1.首先同學(xué)們需要打開python,想好去做分段函數(shù)的第一步,就是需要打開一個空白的編輯器,打開了空白的編輯器,同學(xué)們才能夠更好地去進行操作。
⒉.然后在空白的編輯器文件上編寫程序,以x為未知數(shù),進行各種操作之后,記得一定要方便計算平方和開方,在最后也要寫好表達式,同學(xué)們一定要記錄好結(jié)果。這樣分段函數(shù)的程序就做好了,同學(xué)們可以利用這個程序進行簡單的計算。
第 1 頁
3.之后同學(xué)們可以再打開這個程序,輸入一些數(shù)字,最后在下面可以看到最終的結(jié)果??吹狡渲械倪^程就是分段函數(shù)計算的過程。在進行的過程中,只要操作沒有問題,那么結(jié)果和過程就是沒有問題的。
本題目要求根據(jù)以下分段函數(shù)的定義,計算輸入的x對應(yīng)的y值,輸出結(jié)果保留兩位小數(shù);如果輸入的x是非數(shù)值型數(shù)據(jù),輸出'Input Error'。注意:使用math庫
輸入格式:
import CV2
import copy
import numpy as np
import random
使用的是pycharm
因為最近看了《銀翼殺手2049》,里面Joi實在是太好看了所以原圖像就用Joi了
要求是灰度圖像,所以第一步先把圖像轉(zhuǎn)化成灰度圖像
# 讀入原始圖像
img = CV2.imread('joi.jpg')
# 灰度化處理
gray = CV2.cvtColor(img, CV2.COLOR_BGR2GRAY)
CV2.imwrite('img.png', gray)
第一個任務(wù)是利用分段函數(shù)增強灰度對比,我自己隨便寫了個函數(shù)大致是這樣的
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)
在實現(xiàn)濾波之前先添加高斯噪聲和椒鹽噪聲(代碼來源于網(wǎng)絡(luò))
不知道這個椒鹽噪聲的名字是誰起的感覺隔壁小孩都饞哭了
用到了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個像素點灰度值的平均值代替中心點,而中值就是中位數(shù)代替中心點,邊界點周圍補0;前兩個函數(shù)的作用是算出這個點的灰度值,后兩個是對整張圖片進行
#均值濾波模板
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)
了解下什么是函數(shù)哈
你可以直接寫
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
# 以下為輸入和調(diào)用
x = int(inpit())
res = f(x)
print(res)
分段函數(shù)的代碼用python實現(xiàn)如下:
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)