當前位置:首頁 » 編程語言 » 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)



熱點內容
南師大ftp 發布:2025-01-01 23:11:43 瀏覽:326
c和c編譯器安裝教學 發布:2025-01-01 23:10:08 瀏覽:80
安卓原神退款後為什麼登不上 發布:2025-01-01 23:04:30 瀏覽:251
查看服刑人員要編好和密碼是什麼 發布:2025-01-01 23:00:09 瀏覽:703
閑聊賬號密碼是多少 發布:2025-01-01 22:58:26 瀏覽:519
1個機櫃的存儲量 發布:2025-01-01 22:57:49 瀏覽:635
sqlaccess自動編號 發布:2025-01-01 22:47:21 瀏覽:138
android字元截取 發布:2025-01-01 22:47:18 瀏覽:76
如何把服務端部署在伺服器上 發布:2025-01-01 22:46:35 瀏覽:976
內網外網域名訪問 發布:2025-01-01 22:32:35 瀏覽:64