① python OpenCV視頻拆分圖片代碼
應該是沒有讀進文件。使用opencv讀取視頻,圖片時經常遇到的問題,就是使用cv2.read時不管是否成功讀取文件,他都不會報錯,直到你對讀取到的數據處理時才會報錯。
看你的報錯,frame沒有賦值,說明vc.read()沒有正常執行,所以檢查一下的你的文件是否有問題或者路徑是否正確之類的。
② python中如何使用OpenCv讀取視頻的某一幀並保存到數組NumPy中
1:可以使用opencv讀取。
2:其代碼如下:
#includehighgui.h
#includecv.h
//從攝像頭中讀入數據
int main(int argc,char** argv)
{
cvNamedWindow(Example1,CV_WINDOW_AUTOSIZE);
CvCapture* capture; //初始化一個CvCapture結構的指針
if(argc==1)
{
capture=cvCaptureFromCAM(0);//如果參數為1,則從攝像頭中讀入數據,並返回一個CvCapture的指針
} //註:《學習OpenCV》中此處用cvCreateCameraCapture為錯
else
{
capture=cvCreateFileCapture(argv[1]);
}
assert(capture!=NULL); //斷言(assert)使用,檢查capture是否為空指針,為假時程序退出,並列印錯誤消息
IplImage* frame;
while(1)
{
frame=cvQueryFrame(capture);//用於將下一幀視頻文件載入內存(實際是填充和更新CvCapture結構中),返回一個對應當前幀的指針
if(!frame)
break;
cvShowImage(Example1,frame);
char c=cvWaitKey(33);
if(c==27) break; //出發ESC鍵退出循環,讀入數據停止
}
cvReleaseCapture(capture);//釋放內存
cvDestroyWindow(Example1);
}
③ python opencv 將讀視頻的代碼改成讀圖片的代碼
importosimportcv2
img_root=''#這里寫你的文件夾路徑,比如:/home/youname/data/img/,注意最後一個文件夾要有斜杠fps=24#保存視頻的FPS,可以適當調整#可以用(*'DVIX')或(*'X264'),如果都不行先裝ffmepg:sudoapt-getinstallffmepgfourcc=cv2.VideoWriter_fourcc(*'MJPG')
videoWriter=cv2.VideoWriter('saveVideo.avi',fourcc,fps,(640,480))#最後一個是保存圖片的尺寸foriinrange(99):
frame=cv2.imread(img_root+str(i+1)+'.jpg')
videoWriter.write(frame)
videoWriter.release()
④ opencv python 可以讀取是屁mov文件嗎
pencv自帶的VideoCapture()函數定義攝像頭對象,其參數0表示第一個攝像頭,一般就是筆記本的內建攝像頭。
cap = cv2.VideoCapture("../test.avi")
逐幀顯示實現視頻播放
在while循環中,利用視頻對象的read()函數讀取視頻的某幀,並顯示,然後等待1個單位時間,如果期間檢測到了鍵盤輸入q,則退出,即關閉窗口。
while(1):
# get a frame
ret, frame = cap.read()
# show a frame
cv2.imshow("capture", frame)
if cv2.waitKey(100) & 0xF
⑤ 通過python-opencv對視頻逐幀截取
請到我的個人博客獲得更好的觀看體驗 。
通過python-opencv對視頻進行逐幀截取,僅需修改兩個參數。
⑥ python3使用opencv的VideoCapture讀取視頻文件遇到Error opening file,要怎麼辦
Thanksforyourshare^
a=r"D:Desktoppy1.avi" #another way to fix the warning
a=r"D:Desktoppy1.avi".replace('\','/')#thismaybebetter
⑦ 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用opencv庫和OS庫如何獲取視頻並將其使用上采樣的當然拖充負樣本,並保存
後面的沒看懂
opencv打開視頻可以通過
cap=cv2.VideoCapture(path)
path 可以是文件路徑,url等
網上可以找到的
ret,frame=cap.read()
來讀照片,ret是返回是否獲取成功