重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

python绘画分段函数,编程计算分段函数python

这个程序用python怎么写?

x = int(input('请输入x的值:'))

创新互联建站是专业的江州网站建设公司,江州接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行江州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

if x5:

print('y =',x+5)

elif  5 = x 10:

print('y =',x*2)

elif x = 10:

print('y =',x**3)

python按钮如何连接到绘画图窗

第一,启动Python自带的集中开发环境IDLE,然后点击File--New File,并在脚本框中输入如下代码,用于创建窗口和按钮。

from tkinter import *  # 从tkinter库中导入所有函数

window1=Tk()  # 创建一个窗口

window1.title('test1')  # 设置窗口标题

window1.geometry('500x500+100+100')  # 设置窗口大小x和左顶距离+

def Jason():  # 创建一个函数

print('Come on,baby')

button1=Button(window1,text='点我啊',command=Jason)  # 设置按钮属性

button1.pack()  # 设置显示按钮

window1.mainloop()  # 设置窗口循环显示

Python创建窗口按钮和绘制画布直线

第二,保存和运行上述脚本,得到如下窗口和窗口中的按钮“点我啊”。

Python创建窗口按钮和绘制画布直线

第三,点击“点我啊”按钮,会在IDLE中显示“Come on, baby”.

Python创建窗口按钮和绘制画布直线

第四,在IDLE中再次点击File--New File,并在脚本中输入如下代码,用于创建窗口画布和在画布上绘制直线。

from tkinter import *

window1=Tk()

window1.title('test2')

canvas1=Canvas(window1,width=500,height=500,bg='pink')  # 设置画布

canvas1.pack()  # 显示画布

# 利用create_line()在画布上绘制直线

canvas1.create_line(100,100,400,100,width=5,fill='red')

canvas1.create_line(100,200,400,200,width=15,fill='green')

canvas1.create_line(100,300,400,300,width=35,fill='blue')

window1.mainloop()

Python创建窗口按钮和绘制画布直线

第五,保存和运行上述脚本,可以得到如下图形,画布中绘制了“红 绿 蓝”三条线。

Python创建窗口按钮和绘制画布直线

python3.8.5shell怎么分段函数运算

这里的最好的分段输入的运算可以通过计算模式来完成虚拟手段

数字图像处理Python实现图像灰度变换、直方图均衡、均值滤波

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)

python编程这个怎么弄?

分段函数的代码用python实现如下:

x=eval(input('输入x的值:'))

if x!=0:

y=1/(2*x-1)

else:

y=0

print(y)

如何用python matplotlab 画出一个分段函数

几个绘图的例子,来自API手册:

1、最简单的图:

代码:

[python] view plain copy print?

#!/usr/bin/env python

import matplotlib.pyplot as plt

plt.plot([10, 20, 30])

plt.xlabel('tiems')

plt.ylabel('numbers')

plt.show()


分享文章:python绘画分段函数,编程计算分段函数python
转载注明:http://cqcxhl.com/article/phdpps.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP