当前位置:首页 » 编程语言 » pythonclip

pythonclip

发布时间: 2022-09-25 05:24:00

A. python基础 numpy中的常见函数有哪些

有些Python小白对numpy中的常见函数不太了解,今天小编就整理出来分享给大家。

Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。

数组常用函数
1.where()按条件返回数组的索引值
2.take(a,index)从数组a中按照索引index取值
3.linspace(a,b,N)返回一个在(a,b)范围内均匀分布的数组,元素个数为N个
4.a.fill()将数组的所有元素以指定的值填充
5.diff(a)返回数组a相邻元素的差值构成的数组
6.sign(a)返回数组a的每个元素的正负符号
7.piecewise(a,[condlist],[funclist])数组a根据布尔型条件condlist返回对应元素结果
8.a.argmax(),a.argmin()返回a最大、最小元素的索引

改变数组维度
a.ravel(),a.flatten():将数组a展平成一维数组
a.shape=(m,n),a.reshape(m,n):将数组a转换成m*n维数组
a.transpose,a.T转置数组a

数组组合
1.hstack((a,b)),concatenate((a,b),axis=1)将数组a,b沿水平方向组合
2.vstack((a,b)),concatenate((a,b),axis=0)将数组a,b沿竖直方向组合
3.row_stack((a,b))将数组a,b按行方向组合
4.column_stack((a,b))将数组a,b按列方向组合

数组分割
1.split(a,n,axis=0),vsplit(a,n)将数组a沿垂直方向分割成n个数组
2.split(a,n,axis=1),hsplit(a,n)将数组a沿水平方向分割成n个数组

数组修剪和压缩
1.a.clip(m,n)设置数组a的范围为(m,n),数组中大于n的元素设定为n,小于m的元素设定为m
2.a.compress()返回根据给定条件筛选后的数组

数组属性
1.a.dtype数组a的数据类型
2.a.shape数组a的维度
3.a.ndim数组a的维数
4.a.size数组a所含元素的总个数
5.a.itemsize数组a的元素在内存中所占的字节数
6.a.nbytes整个数组a所占的内存空间7.a.astype(int)转换a数组的类型为int型

数组计算
1.average(a,weights=v)对数组a以权重v进行加权平均
2.mean(a),max(a),min(a),middle(a),var(a),std(a)数组a的均值、最大值、最小值、中位数、方差、标准差
3.a.prod()数组a的所有元素的乘积
4.a.cumprod()数组a的元素的累积乘积
5.cov(a,b),corrcoef(a,b)数组a和b的协方差、相关系数
6.a.diagonal()查看矩阵a对角线上的元素7.a.trace()计算矩阵a的迹,即对角线元素之和

以上就是numpy中的常见函数。更多Python学习推荐:PyThon学习网教学中心。

B. 如何理解这段python程序

convolve 这个函数应该是 输入的numpy.array,按照权值weight,
以(i,j)点的邻域 行列式(i:i+w,j+j+h)和行列式wight进行 行列式相乘 得到的结果为新的(i,j)

说白了就是权值的相加减的问题,梯度不剃度我就不知了额

C. 谁知道如何在python中用处理wav文件,并且对他的频谱进行分析的程序

1.读取wav文件
# -*- coding: utf-8 -*-
import wave
import pylab as pl
import numpy as np
# 打开WAV文档
f = wave.open(r"c:\WINDOWS\Media\ding.wav", "rb")
# 读取格式信息
# (nchannels, sampwidth, framerate, nframes, comptype, compname)
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
# 读取波形数据
str_data = f.readframes(nframes)
f.close()
#将波形数据转换为数组
wave_data = np.fromstring(str_data, dtype=np.short)
wave_data.shape = -1, 2
wave_data = wave_data.T
time = np.arange(0, nframes) * (1.0 / framerate)
# 绘制波形
pl.subplot(211)
pl.plot(time, wave_data[0])
pl.subplot(212)
pl.plot(time, wave_data[1], c="g")
pl.xlabel("time (seconds)")
pl.show()

2.观察信号频谱

# -*- coding: utf-8 -*-
import numpy as np
import pylab as pl
sampling_rate = 8000
fft_size = 512
t = np.arange(0, 1.0, 1.0/sampling_rate)
x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t)
xs = x[:fft_size]
xf = np.fft.rfft(xs)/fft_size
freqs = np.linspace(0, sampling_rate/2, fft_size/2+1)
xfp = 20*np.log10(np.clip(np.abs(xf), 1e-20, 1e100))
pl.figure(figsize=(8,4))
pl.subplot(211)
pl.plot(t[:fft_size], xs)
pl.xlabel(u"时间(秒)")
pl.title(u"156.25Hz和234.375Hz的波形和频谱")
pl.subplot(212)
pl.plot(freqs, xfp)
pl.xlabel(u"频率(Hz)")
pl.subplots_adjust(hspace=0.4)
pl.show()

D. 用Python写过哪些的小工具

为了逃避学校布置的美术作业,写过一个画素描的程序。
从后再也不担心美术作业了。
也就是利用Python的PIL库来 将彩色图片转化为素描效果的图片

更新说明:
前面那个程序写的太粗糙了,不好意思拿出来分享,重新写了一遍,加上了GUI图形界面。
配置环境
windows 10
python 3.5

image.py
from PIL import Image
import numpy as np
import os
import join
import time
def image(sta,end,depths=10):
a = np.asarray(Image.open(sta).convert('L')).astype('float')
depth = depths # (0-100)
grad = np.gradient(a) # 取图像灰度的梯度值
grad_x, grad_y = grad # 分别取横纵图像梯度值
grad_x = grad_x * depth / 100.
grad_y = grad_y * depth / 100.
A = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)
uni_x = grad_x / A
uni_y = grad_y / A
uni_z = 1. / A
vec_el = np.pi / 2.2 # 光源的俯视角度,弧度值
vec_az = np.pi / 4. # 光源的方位角度,弧度值
dx = np.cos(vec_el) * np.cos(vec_az) # 光源对x 轴的影响
dy = np.cos(vec_el) * np.sin(vec_az) # 光源对y 轴的影响
dz = np.sin(vec_el) # 光源对z 轴的影响
b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z) # 光源归一化
b = b.clip(0, 255)
im = Image.fromarray(b.astype('uint8')) # 重构图像
im.save(end)

def mains(numbers):
number = int(numbers)
startss = os.listdir(".\输入----图片")
time.sleep(2)
for starts in startss:
start = ''.join(starts)
print('正在转化--图片: ' + start)
sta = './' + '输入----图片/' + start
end = './' + '输出----图片/' + 'HD_20' + start
image(sta=sta,end=end,depths=number)

简单来说,就是利用python的Numpy库,将图像降维转化为数字化的数据,之后对数据进行操作,再利用pillow库将操作好的数据转化为素描效果的图片。
GUI图形界面程序
main.py
import os
from image import mains
from tkinter import *

def exists_mkdir():
if os.path.exists('输出----图片') and os.path.exists('输入----图片'):
pass
else:
os.mkdir('输出----图片')
os.mkdir('输入----图片')

def images():
try:
s1 = e1.get()
a = mains(s1)
c["text"] = "我们的程序运行成功了"
except Exception:
c["text"] = "程序运行出错了,可能是缺少了两个配置文件"

#创建程序运行需要的工作目录
exists_mkdir()

tk = Tk()
# 设置窗口大小和位置
tk.geometry('430x350+80+60')

# 不允许改变窗口大小
tk.resizable(False, False)

## 用来显示Label组件
tk.title('素描图生成器')
w1 = Label(tk,text='作者博客:www.liuchaoblog.live')
w = Label(tk,text='')
w2 = Label(tk,text='欢迎使用:')
w3 = Label(tk,text='步骤一:将需要转化的图片放入 输入----图片 文件夹下')
w4 = Label(tk,text='步骤二:输入 0-100的数值,数值越大,颜色越深。--------标准参数是 10 ')
w5 = Label(tk,text='步骤三:点击确认 运行程序 等待出现提示')
w6 = Label(tk,text='步骤四:到输入----图片 文件夹找到素描图')
w1.grid(row=0,column=0,sticky=W)
w.grid(row=1,column=0,sticky=W)
w2.grid(row=2,column=0,sticky=W)
w3.grid(row=3,column=0,sticky=W)
w4.grid(row=4,column=0,sticky=W)
w5.grid(row=5,column=0,sticky=W)
w6.grid(row=6,column=0,sticky=W)

l = Label(tk,text="输入 0-100的数值")
l.grid(row=8,column=0,sticky=E)

## 用来显示输入框
e1 = Entry(tk)
e1.grid(row=10,column=0,sticky=E)

## 用来显示Button
b = Button(tk,text='确定',command=images)
b.grid(row=12,column=0,sticky=E)

c = Label(tk,text="",background="yellow")
c.grid(row = 15)

# 启动消息主循环
tk.mainloop()

运行效果:

这个程序我用pyinstaller做成exe文件了。

E. 交叉熵损失函数是什么

平滑函数。

交叉熵损失函数,也称为对数损失或者logistic损失。当模型产生了预测值之后,将对类别的预测概率与真实值(由0或1组成)进行不比较,计算所产生的损失,然后基于此损失设置对数形式的惩罚项。

在神经网络中,所使用的Softmax函数是连续可导函数,这使得可以计算出损失函数相对于神经网络中每个权重的导数(在《机器学习数学基础》中有对此的完整推导过程和案例,这样就可以相应地调整模型的权重以最小化损失函数。

(5)pythonclip扩展阅读:

注意事项:

当预测类别为二分类时,交叉熵损失函数的计算公式如下图,其中y是真实类别(值为0或1),p是预测类别的概率(值为0~1之间的小数)。

计算二分类的交叉熵损失函数的python代码如下图,其中esp是一个极小值,第五行代码clip的目的是保证预测概率的值在0~1之间,输出的损失值数组求和后,就是损失函数最后的返回值。

F. python piperclip是什么

python pyperclip模块,主要用途是复制、粘贴。

G. python代码分割栅格

恐怕是你定义了一个叫做"len"的变量其当前数据类型为"int"

H. python用ctypes操作剪切板遇到问题!!

这边执行没有问题,版本如下

Python3.5.0(v3.5.0:374f501f4567,Sep132015,02:27:37)[MSCv.190064bit(AMD64)]onwin32

代码如下

importctypes
defget():
'''从剪切板中获得字符串'''
h=ctypes.WinDLL('user32.dll')
h.OpenClipboard(0)
aa=h.GetClipboardData(13)
ss=ctypes.c_wchar_p(aa)
h.CloseClipboard()
returnss.value
defset(mystr):
'''把字符串放到剪切板中,成功返回1,失败返回0'''
u=ctypes.WinDLL('user32.dll')
k=ctypes.WinDLL('kernel32.dll')
s=mystr.encode('utf-16')
s=s[2:]+b''
ss=ctypes.c_char_p(s)
u.OpenClipboard(0)
u.EmptyClipboard()
k.GlobalAlloc.argtypes=[ctypes.c_uint32,ctypes.c_uint32]
try:
cb=k.GlobalAlloc(0,len(s))
cb=ctypes.c_void_p(cb)
print(type(cb))
ctypes.memmove(cb,ss,len(s))
rr=u.SetClipboardData(13,cb)#13->unicode
finally:
u.CloseClipboard()
ifrr==0:
return0
else:
return1
#-----
set("abcdefg")

程序返回

<class'ctypes.c_void_p'>

I. python中PLE调整图片大小,等比例压缩文件,怎么写代码

How do I read image data from a URL in Python?

importosimportImagefileName='c:/py/jb51.jpg'fp=open(fileName,'rb')im=Image.open(fp)fp.close()x,y=im.sizeifx <300or y <300:os.remove(fileName)

from PIL import Imageimport requestsimport numpy as npfrom StringIO import StringIOresponse = requests.get(url)img = np.array(Image.open(StringIO(response.content)))

from PIL import Imageimport urllib2

im = Image.open(urllib2.urlopen(url))

or if you userequests:

from PIL import Imageimport requests

im = Image.open(requests.get(url, stream=True).raw)

[python] view plain

  • [html] view plain

  • #coding:utf-8

  • '''

  • python图片处理

  • '''

  • importImageasimage

  • #等比例压缩图片

  • defresizeImg(**args):

  • args_key={'ori_img':'','dst_img':'','dst_w':'','dst_h':'','save_q':75}

  • arg={}

  • forkeyinargs_key:

  • ifkeyinargs:

  • arg[key]=args[key]

  • im=image.open(arg['ori_img'])

  • ori_w,ori_h=im.size

  • widthRatio=heightRatio=None

  • ratio=1

  • if(ori_wandori_w>arg['dst_w'])or(ori_handori_h>arg['dst_h']):

  • ifarg['dst_w']andori_w>arg['dst_w']:

  • widthRatio=float(arg['dst_w'])/ori_w#正确获取小数的方式

  • ifarg['dst_h']andori_h>arg['dst_h']:

  • heightRatio=float(arg['dst_h'])/ori_h

  • ifwidthRatioandheightRatio:

  • ifwidthRatio<heightRatio:

  • ratio=widthRatio

  • else:

  • ratio=heightRatio

  • ifwidthRatioandnotheightRatio:

  • ratio=widthRatio

  • ifheightRatioandnotwidthRatio:

  • ratio=heightRatio

  • newWidth=int(ori_w*ratio)

  • newHeight=int(ori_h*ratio)

  • else:

  • newWidth=ori_w

  • newHeight=ori_h

  • im.resize((newWidth,newHeight),image.ANTIALIAS).save(arg['dst_img'],quality=arg['save_q'])

  • '''

  • image.ANTIALIAS还有如下值:

  • NEAREST:usenearestneighbour

  • BILINEAR:

  • BICUBIC:

  • ANTIALIAS:bestdown-sizingfilter

  • '''

  • #裁剪压缩图片

  • defclipResizeImg(**args):

  • args_key={'ori_img':'','dst_img':'','dst_w':'','dst_h':'','save_q':75}

  • arg={}

  • forkeyinargs_key:

  • ifkeyinargs:

  • arg[key]=args[key]

  • im=image.open(arg['ori_img'])

  • ori_w,ori_h=im.size

  • dst_scale=float(arg['dst_h'])/arg['dst_w']#目标高宽比

  • ori_scale=float(ori_h)/ori_w#原高宽比

  • ifori_scale>=dst_scale:

  • #过高

  • width=ori_w

  • height=int(width*dst_scale)

  • x=0

  • y=(ori_h-height)/3

  • else:

  • #过宽

  • height=ori_h

  • width=int(height*dst_scale)

  • x=(ori_w-width)/2

  • y=0

  • #裁剪

  • box=(x,y,width+x,height+y)

  • #这里的参数可以这么认为:从某图的(x,y)坐标开始截,截到(width+x,height+y)坐标

  • #所包围的图像,crop方法与php中的image方法大为不一样

  • newIm=im.crop(box)

  • im=None

  • #压缩

  • ratio=float(arg['dst_w'])/width

  • newWidth=int(width*ratio)

  • newHeight=int(height*ratio)

  • newIm.resize((newWidth,newHeight),image.ANTIALIAS).save(arg['dst_img'],quality=arg['save_q'])

  • #水印(这里仅为图片水印)

  • defwaterMark(**args):

  • args_key={'ori_img':'','dst_img':'','mark_img':'','water_opt':''}

  • arg={}

  • forkeyinargs_key:

  • ifkeyinargs:

  • arg[key]=args[key]

  • im=image.open(arg['ori_img'])

  • ori_w,ori_h=im.size

  • mark_im=image.open(arg['mark_img'])

  • mark_w,mark_h=mark_im.size

  • option={'leftup':(0,0),'rightup':(ori_w-mark_w,0),'leftlow':(0,ori_h-mark_h),

  • 'rightlow':(ori_w-mark_w,ori_h-mark_h)

  • }

  • im.paste(mark_im,option[arg['water_opt']],mark_im.convert('RGBA'))

  • im.save(arg['dst_img'])

  • #Demon

  • #源图片

  • ori_img='D:/tt.jpg'

  • #水印标

  • mark_img='D:/mark.png'

  • #水印位置(右下)

  • water_opt='rightlow'

  • #目标图片

  • dst_img='D:/python_2.jpg'

  • #目标图片大小

  • dst_w=94

  • dst_h=94

  • #保存的图片质量

  • save_q=35

  • #裁剪压缩

  • clipResizeImg(ori_img=ori_img,dst_img=dst_img,dst_w=dst_w,dst_h=dst_h,save_q=save_q)

  • #等比例压缩

  • #resizeImg(ori_img=ori_img,dst_img=dst_img,dst_w=dst_w,dst_h=dst_h,save_q=save_q)

  • #水印

  • #waterMark(ori_img=ori_img,dst_img=dst_img,mark_img=mark_img,water_opt=water_opt)



热点内容
王者周年福利密码是什么 发布:2025-01-04 16:30:37 浏览:36
联通北方服务器上不去怎么回事 发布:2025-01-04 16:28:42 浏览:976
开源服务器云存储多少钱 发布:2025-01-04 16:10:45 浏览:666
我的世界泥土商店服务器8月 发布:2025-01-04 15:58:40 浏览:822
怎么在电脑上重启机房服务器 发布:2025-01-04 15:40:02 浏览:869
摄影后期电脑配置i5怎么样 发布:2025-01-04 15:39:19 浏览:405
linux桥接设置 发布:2025-01-04 15:39:07 浏览:61
安卓屏幕怎么设置成老人用的 发布:2025-01-04 15:33:53 浏览:316
学电脑编程要多久 发布:2025-01-04 15:20:15 浏览:333
华为手机存储卡插哪 发布:2025-01-04 15:01:02 浏览:41