㈠ 如何用python
把之前教程的地址移過來
合並帖子的內容:【整理】【多圖詳解】如何在Windows下開發Python:在cmd下運行Python腳本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
為出版而整理:每章都加了摘要,每章都完善了架構。
整理章節的架構;整理第一章的內容
添加Python學習資料目錄
前言
1. 本文目的
2. 看此文之前你所要掌握的知識
1. Python簡介
1.1. 什麼是Python
1.1.1. Python這個單詞的本意是蟒蛇
1.1.2. Python是一種計算機語言
1.1.3. 作為計算機語言的Python的各種叫法的含義
1.1.3.1. Python是一種腳本語言
1.1.3.2. Python是一種交互性的語言
1.1.3.3. Python是一門解釋性的語言
1.1.3.4. Python是一種面向對象的語言
1.1.3.5. Python是一種高級語言
1.2. Python能幹什麼
1.3. Python的特點
1.3.1. 作為解釋性語言的Python的優缺點
1.3.1.1. Python的優點
1.3.1.2. Python的缺點
1.3.2. Python語言自身的特點
1.4. Python相關的必備知識
1.4.1. Python文件的後綴是py
1.4.2. Python的縮寫和簡稱
1.4.3. Python的官網
1.4.4. Python的logo圖案
2. 選擇並下載合適的版本的Python
2.1. 為何要注意選擇合適版本的Python
2.2. 如何選擇正確版本的Python
2.2.1. 明確當前所處平台版本的信息
2.2.2. 選擇可用和速度快的下載源
2.2.3. 選擇合適的版本的Python
3. 如何安裝Python
3.1. 如何在Windows系統中安裝Python
3.1.1. 在Win7中安裝Python
3.2. 如何在Linux系統中安裝Python
3.2.1. 在Ubuntu中安裝Python
3.3. 如何在Mac中安裝Python
4. 選擇合適的Python開發環境
4.1. 如何在Windows環境下開發Python
4.1.1. Python的最原始的開發方式是什麼樣的
4.1.1.1. 找個文本編輯器,新建個.py文件,寫上Python代碼
4.1.1.2. 打開Windows的cmd,並且切換到對應的python腳本所在目錄
4.1.1.2.1. 方法1:手動打開cmd,並cd到對應路徑
4.1.1.2.2. 方法2:通過Notepad++的Open current dir cmd
4.1.1.3. 在cmd中去運行你的Python腳本(.py文件)
4.1.2. 利用Python的shell進行互動式開發又是什麼樣的
4.1.2.1. 命令行版本的Python Shell – Python (command line)
4.1.2.2. 帶圖形界面的Python Shell – IDLE (Python GUI)
4.1.2.3. 關於(command line或GUI版本的)Python Shell的用途
4.1.3. 利用第三方Python的IDE進行Python開發又是怎麼回事
4.1.3.1. 為何會有Python的IDE
4.1.3.2. 目前常見的一些Python的IDE
4.1.3.3. Python的IDE和Python代碼編輯器,Windows的cmd,等的關系
4.1.3.4. 使用IDE時所遇到的一些常見的問題
4.1.3.4.1. IDE只能夠打開了文件,並不代表就已經在shell中運行了該文件
4.1.3.4.2. 需要注意,確保有可以運行的Python起始部分的代碼
4.1.4. 總結:到底使用哪種環境去開發Python
4.1.4.1. 對初學者的建議:如何選用Python的開發環境
4.1.5. 如何在Windows環境下使用Python腳本
4.1.5.1. 如何在Windows下的cmd中運行BlogsToWordpress.py
4.2. 如何在Linux環境下開發Python
4.3. 如何在Mac環境下開發Python
5. Python的基本語法和基礎知識
5.1. 一張圖片入門Python
5.2. Python中的2.x版本和3.x版本
5.3. Python文件編碼聲明
5.4. Python中的縮進
5.5. Python中基本變數的聲明和定義
5.5.1. Python中變數的作用域
5.5.2. Python中變數與C語言中的變數對比
5.6. Python中的分支結構
5.7. Python中的函數
5.8. Python中的面向對象編程
6. 繼續學習Python的思路和方法
6.1. 如何繼續深入學習Python
6.2. 如何利用Python相關資源
6.2.1. 如何利用Python自帶的手冊
6.2.2. 如何利用一些在線的Python資源
7. Python常見問題及解答
常見問題
7.1. 在window的cmd中運行python結果卻調用了文本編輯器去打開了,而不是去調用Python解析器去運行python文件
8. Python相關資源
參考書目
插圖清單
4.1. 在Windows下的cmd下面運行Python腳本的樣子
4.2. 開始菜單中找到的Python (Command Line)
4.3. Python (Command Line)的界面
4.4. 動畫演示如何在Windows的cmd中運行Python腳本BlogsToWordpress.py
4.5. 在Mac下的Terminal中運行Python腳本:BlogsToWordpress
5.1. Quick Python Script Explanation
5.2. 一張圖入門Python中文版
7.1. 安裝Python時選擇Register Extensions
範例清單
4.1. 舉例:用Python的IDLE去做URL解碼
公式清單
4.1. 什麼是IDE
4.2. 什麼是Python的IDE
㈡ 已有Python腳本里設置command line
具體調用方法如下:
可以通過moviepy直接對視頻整體進行處理。
可以通過ffmpeg對視頻進行frame拆解,拆解出來的可以cv2進行圖片的處理。
可以通過ffmpeg的其他指令(需要藉助terminal進行運行的指令對視頻進行處理。因為python的ffmpeg中並沒有對應的封裝好的可以實現終端中對應的庫函數所可以使用的方法。
利用subprocess子進程去執行指令,這個函數類似網路模型構建中的那種函數,參數很多,但是在一般調用的過程中必要的參數args是要調用的指令的字串,shell=True。
㈢ python 簡單模糊匹配
根據報錯的信息find這個變數是float類型而不是str類型的,str才有startsWith這個方法,你想找的實際上是excel表格中的值,我覺得你需要先把find這個變數在後台列印出來,如以下代碼
forfindinxx:
print"@54",find
iffind.startswith('A1'):
....
...
㈣ python如何用opencv把一個視頻按每10秒一小段切下來
你好,下面是相應的一個代碼,你可以參考一下:
importcv2
importos
#先導入openCV
#將一個長的視頻縮短,按照比例縮短,只保存其中的一部分
#如下面代碼就是將一個長視頻每10秒取10秒,合並成一個短視頻
cap=cv2.VideoCapture('myvideo.avi')
ifnotcap.isOpened():
print('videoisnotopened')
else:
#每秒25幀
num=0
#取10秒
needTime=250
#每10秒
timeSpace=250
#獲取視頻幀率
fps=cap.get(cv2.CAP_PROP_FPS)
#AVI格式編碼輸出XVID
videoWriter=cv2.VideoWriter('result//resultVideo_2.avi',cv2.VideoWriter_fourcc('X','V','I','D'),fps,frameSize=(320,288))
while(1):
success,frame=cap.read()
if(num%timeSpace<=needTime):
videoWriter.write(frame)
print('write'+str(num))
num=num+1
ifnotsuccess:
print('finished')
break
ifcv2.waitKey(100)&0xFF==ord('q'):
break
cap.release()
㈤ python處理qlv
利用OpenCV庫。
程序效果是,讀取視頻文件,設定保存的幀速率和幀大小(即視頻寬高),控制保存的視頻時間節點,由i轉換為幀數來進行控制。中間還使用了resize函數,來進行圖像的縮放。若想放大視頻,直接更改resize函數中(1280,720)參數即可。同時,可以選擇圖像擴大時所採用的插值方式。
這個程序中,僅寫出了放大的函數,並未進行視頻圖像的放大。
㈥ python本地可以處理視頻嗎
用Python處理視頻環境要求:安裝OpenCV >>點此安裝 練習1. 從本地讀取一段視頻,並獲取幀數,幀率以及時長 import cv2 cap=cv2.VideoCapture('.light.mp4') nbFrames = int(cap.get
是可以的!
㈦ python隨機提取9個視頻幀數圖片
waitKey()函數詳解。
使用這個函數可以創建一個用於寫出視頻文件的句柄,第一個參數為寫出的視頻文件的名字/路徑,第二個參數為寫出視頻的編碼格式,第三個參數為寫出視頻的fps值,第四個參數為寫出視頻的畫面大小,最後一個參數為設置寫出視頻是否為彩色視頻,可以省略,默認為彩色。
如下所示,while(1){if(waitKey(100)==27)break,}在這個程序中,我們告訴OpenCv等待用戶觸發事件,等待時間為100ms,如果在這個時間段內,用戶按下ESC(ASCII碼為27),則跳出循環,否則,不跳出循環,如果設置waitKey(0),則表示程序會無限制的等待用戶的按鍵事件。
㈧ python能開發游戲嗎
用Python開發游戲完全沒有問題,游戲裡面要用到一些全局變數、載入資源、創建開始界面、開始游
戲,舞台層滑鼠點擊事件的監聽器是startGame函數,也就是我們點擊開始界面就開始游戲。
首先打開命令行,使用PyPI下載Pygame包(輸入命令pip install pygame)
使用Python開發游戲步驟:
1、打開python編輯器(vs,IDLE,或其他),再引入包定義一些需要用到的數據
2、先使用pygame包創建一個游戲窗口,然後使用循環將窗口展示出來
3、現在定義一個可操控的小球類Player,draw()方法可以使它展示在屏幕上,update()方法讓小球跟隨滑鼠移動
4、類似的,定義不可操控的小球類Ball,使用random包使它隨機移動
5、再對Player小球進行碰撞檢測,遇到大球就被吃掉,游戲自動退出,遇到小球就吃掉小球,並且增大自己體積,並加入到Player小球
的update()方法中
6、類定義完畢了,再創建對象,將多個Ball類對象加入列表
7、調用各個對象的draw()方法與update()方法
8、最後一步控制幀率,使用pygame.time.Clock().tick(60)將幀率控制在60幀
python開發游戲的庫平台pygame,pygame是python的一個跨平台模塊,專門為設計電子游戲而開發,建立在SDL基礎上,允許開發
者快速的開發出自己的游戲而又不被低級語言束縛,這個庫的安裝和簡單使用,實驗環境win10,python版本為python3.6。
㈨ Python之OpenCV把一個視頻切分成多個等長視頻
import cv2
cap = cv2.VideoCapture('E:/極樂凈土.mp4')#導入路徑
j=1
i=1
fourcc = cv2.VideoWriter_fourcc(*'XVID')
fps =cap.get(cv2.CAP_PROP_FPS)
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
out = cv2.VideoWriter('E:/新建文件夾 (3)/' + str(j) + '.avi', fourcc,fps, size)#輸出路徑都是可以自己改的
while (True):
ret, frame = cap.read() # 捕獲一幀圖像
i = i + 1
out.write(frame) # 保存幀
if (i % 200== 0): # 每n幀切割為一個新的視頻
j = j + 1
out = cv2.VideoWriter('E:/新建文件夾 (3)/' + str(j) + '.avi', fourcc, fps, size)#路徑都是可以自己改的
cv2.imshow('frame', frame) # 顯示幀
# 判斷按鍵,如果按鍵為q,退出循環
if cv2.waitKey(25) & 0xFF == ord('q'):
break
cap.release()
out.release()
cv2.destroyAllWindows()
㈩ ffmpeg-python中文文檔(三)——API參考
表示上游節點的傳出邊緣;可以用來創建更多的下游節點。
輸入文件 URL (ffmpeg -i option)
在一個 ffmpeg 命令行中包含所有給定的輸出
輸出文件地址
不詢問就覆蓋輸出文件(ffmpeg -y 選項)
在指定文件上運行 ffprobe 並返回輸出的 JSON 表示。
構建用於調用 ffmpeg 的命令行。
構建要傳遞給 ffmpeg 的命令行參數。
為提供的節點圖調用 ffmpeg 。
參數
為提供的節點圖非同步調用 ffmpeg。
參數
例子
運行和流式輸入:
運行並捕獲輸出:
使用 numpy 逐幀處理視頻:
通過重新混合顏色通道來調整視頻輸入幀。
連接音頻和視頻流,將它們一個接一個地連接在一起。
篩選器適用於同步視頻和音頻流的片段。所有段必須具有每種類型的相同數量的流,這也是輸出時的流數。
參數
裁剪輸入視頻。
參數
在輸入圖像上繪制一個彩色框。
參數
使用 libfreetype 庫從視頻頂部的指定文件中繪制文本字元串或文本。
要啟用此過濾器的編譯,您需要使用 --enable-libfreetype . 要啟用默認字體回退和字體選項,您需要使用 --enable-libfontconfig . 要啟用 text_shaping 選項,您需要使用 --enable-libfribidi
參數
· box - 用於使用背景顏色在文本周圍繪制一個框。該值必須是 1(啟用)或 0(禁用)。框的默認值為 0。
· boxborderw – 使用 boxcolor 設置要在框周圍繪制的邊框寬度。boxborderw 的默認值為 0。
· boxcolor - 用於在文本周圍繪制框的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。 boxcolor 的默認值為「white」。
· line_spacing – 使用 box 設置要在框周圍繪制的邊框的行間距(以像素為單位)。line_spacing 的默認值為 0。
· borderw – 使用邊框顏色設置要在文本周圍繪制的邊框寬度。邊框的默認值為 0。
· bordercolor – 設置用於在文本周圍繪制邊框的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。邊框顏色的默認值為「黑色」。
· 擴展- 選擇文本的擴展方式。可以是 none、strftime(已棄用)或 normal(默認)。有關詳細信息,請參閱下面的文本擴展部分。
· basetime – 設置計數的開始時間。值以微秒為單位。僅適用於已棄用的 strftime 擴展模式。要在正常擴展模式下進行模擬,請使用 pts 函數,提供開始時間(以秒為單位)作為第二個參數。
· fix_bounds - 如果為 true,檢查並修復文本坐標以避免剪切。
· fontcolor - 用於繪制字體的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。fontcolor 的默認值為「黑色」。
· fontcolor_expr – 與文本相同的擴展字元串以獲得動態字體顏色值。默認情況下,此選項具有空值並且不被處理。設置此選項時,它會覆蓋 fontcolor 選項。
· font - 用於繪制文本的字體系列。默認情況下無。
· fontfile – 用於繪制文本的字體文件。必須包含路徑。如果禁用了 fontconfig 支持,則此參數是必需的。
· alpha – 繪制應用 alpha 混合的文本。該值可以是介於 0.0 和 1.0 之間的數字。該表達式也接受相同的變數 x、y。默認值為 1。請參閱 fontcolor_expr。
· fontsize – 用於繪制文本的字體大小。字體大小的默認值為 16。
· text_shaping – 如果設置為 1,則在繪制文本之前嘗試對文本進行整形(例如,反轉從右到左文本的順序並加入阿拉伯字元)。否則,只需按照給定的方式繪制文本。默認為 1(如果支持)。
· ft_load_flags –用於載入字體的標志。這些標志映射了 libfreetype 支持的相應標志,並且是以下值的組合:
默認值為「默認」。有關更多信息,請參閱 FT_LOAD_* libfreetype 標志的文檔。
· shadowcolor – 用於在已繪制文本後面繪制陰影的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。shadowcolor 的默認值為「黑色」。
· shadowx – 文本陰影位置相對於文本位置的 x 偏移量。它可以是正值或負值。默認值為「0」。
· shadowy – 文本陰影位置相對於文本位置的 y 偏移量。它可以是正值或負值。默認值為「0」。
· start_number – n/frame_num 變數的起始幀號。默認值為「0」。
· tabsize - 用於呈現選項卡的空格數大小。默認值為 4。
· timecode – 以「hh:mm:ss[:;.]ff」格式設置初始時間碼表示。它可以帶或不帶文本參數使用。必須指定 timecode_rate 選項。
· rate – 設置時間碼幀率(僅限時間碼)。
· timecode_rate – 的別名rate。
· r – 的別名rate。
· tc24hmax – 如果設置為 1,時間碼選項的輸出將在 24 小時左右回繞。默認值為 0(禁用)。
· text -- 要繪制的文本字元串。文本必須是 UTF-8 編碼字元序列。如果沒有使用參數 textfile 指定文件,則此參數是必需的。
· textfile – 包含要繪制的文本的文本文件。文本必須是 UTF-8 編碼字元序列。如果沒有使用參數 text 指定文本字元串,則此參數是必需的。如果同時指定了 text 和 textfile,則會引發錯誤。
· reload – 如果設置為 1,文本文件將在每一幀之前重新載入。一定要自動更新它,否則它可能會被部分讀取,甚至失敗。
· x – 指定將在視頻幀內繪制文本的偏移量的表達式。它相對於輸出圖像的左邊框。默認值為「0」。
· y - 指定將在視頻幀內繪制文本的偏移量的表達式。它相對於輸出圖像的上邊框。默認值為「0」。有關接受的常量和函數的列表,請參見下文。
表達式常量:
x 和 y 的參數是包含以下常量和函數的表達式:
· dar:輸入顯示縱橫比,同 (w / h) * sar
· hsub:水平色度子樣本值。例如,對於像素格式「yuv422p」,hsub 為 2,vsub 為 1。
· vsub:垂直色度子樣本值。例如,對於像素格式「yuv422p」,hsub 為 2,vsub 為 1。
· line_h:每個文本行的高度
· lh:別名為line_h.
· main_h:輸入高度
· h: 的別名main_h。
· H: 的別名main_h。
· main_w:輸入寬度
· w: 的別名main_w。
· W: 的別名main_w。
· ascent:對於所有渲染的字形,從基線到用於放置字形輪廓點的最高/上網格坐標的最大距離。這是一個正值,因為網格的 Y 軸向上。
· max_glyph_a: 的別名ascent。
· 下降:對於所有渲染的字形,從基線到用於放置字形輪廓點的最低網格坐標的最大距離。由於網格的方向,這是一個負值,Y 軸向上。
· max_glyph_d: 的別名descent。
· max_glyph_h:最大字形高度,即渲染文本中包含的所有字形的最大高度,相當於上升-下降。
· max_glyph_w:最大字形寬度,即渲染文本中包含的所有字形的最大寬度。
· n:輸入幀數,從0開始
· rand(min, max):返回一個包含在 min 和 max 之間的隨機數
· sar:輸入樣本縱橫比。
· t:時間戳,以秒為單位,如果輸入時間戳未知,則為 NAN
· text_h:渲染文本的高度
· th: 的別名text_h。
· text_w:渲染文本的寬度
· tw: 的別名text_w。
· x:繪制文本的 x 偏移坐標。
· y:繪制文本的 y 偏移坐標。
這些參數允許 x 和 y 表達式相互引用,因此您可以例如指定 y=x/dar.
應用自定義過濾器。
filter通常由更高級別的過濾器函數使用,例如 hflip ,但如果缺少過濾器實現 ffmpeg-python ,您可以 filter 直接調用以 ffmpeg-python 將過濾器名稱和參數逐字傳遞給 ffmpeg 。
參數
函數名稱後綴_是為了避免與標准 pythonfilter 函數混淆。
例子
替代名稱 filter ,以免與內置的 pythonfilter 運算符沖突。
應用具有一個或多個輸出的自定義過濾器。
這 filter 與過濾器可以產生多個輸出相同。
要引用輸出流,請使用 .stream 運算符或括弧簡寫:
例子
水平翻轉輸入視頻。
修改輸入的色調和/或飽和度。
參數
將一個視頻疊加在另一個視頻之上。
參數
更改輸入幀的 PTS(表示時間戳)。
FFmpeg里有兩種時間戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。 顧名思義,前者是解碼的時間,後者是顯示的時間。
參數
修剪輸入,使輸出包含輸入的一個連續子部分。
參數
垂直翻轉輸入視頻。
應用縮放和平移效果。
參數