python環(huán)境下OPenCV處理視頻流局部區(qū)域像素值
參考我之前寫的處理圖片的文章:Python+OpenCV實現(xiàn)【圖片】局部區(qū)域像素值處理(改進版)
開發(fā)環(huán)境:Python3.6.0 + OpenCV3.2.0
任務目標:攝像頭采集圖像(例如:480640),并對視頻流每一幀(灰度圖)特定矩形區(qū)域(48030)像素值進行行求和,得到一個480*1的數(shù)組,用這480個數(shù)據(jù)繪制條形圖,即在逐幀采集視頻流并處理后“實時”顯示采集到的視頻,并“實時”更新條形圖。工作流程如下圖:
源碼:
# -*- coding:utf-8 -*- import cv2 import numpy as np camera = cv2.VideoCapture(0) # 參數(shù)0表示第一個攝像頭 # camera = cv2.VideoCapture("test.avi") # 從文件讀取視頻 # 判斷視頻是否打開 if (camera.isOpened()): print 'Open' else: print 'Fail to open!' # # 測試用,查看視頻size # size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)), # int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT))) # print 'size:'+repr(size) rectangleCols = 30 while True: grabbed, frame_lwpCV = camera.read() # 逐幀采集視頻流 if not grabbed: break gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY) # 轉(zhuǎn)灰度圖 frame_data = np.array(gray_lwpCV) # 每一幀循環(huán)存入數(shù)組 box_data = frame_data[:, 400:400+rectangleCols] # 取矩形目標區(qū)域 pixel_sum = np.sum(box_data, axis=1) # 行求和q length = len(gray_lwpCV) x = range(length) emptyImage = np.zeros((rectangleCols*10, length*2, 3), np.uint8) for i in x: cv2.rectangle(emptyImage, (i*2, (rectangleCols-pixel_sum[i]/255)*10), ((i+1)*2, rectangleCols*10), (255, 0, 0), 1) emptyImage = cv2.resize(emptyImage, (320, 240)) # 畫目標區(qū)域 lwpCV_box = cv2.rectangle(frame_lwpCV, (400, 0), (430, length), (0, 255, 0), 2) cv2.imshow('lwpCVWindow', frame_lwpCV) # 顯示采集到的視頻流 cv2.imshow('sum', emptyImage) # 顯示畫出的條形圖 key = cv2.waitKey(1) & 0xFF if key == ord('q'): break camera.release() cv2.destroyAllWindows()
以上就是python環(huán)境下OPenCV處理視頻流局部區(qū)域像素值的詳細內(nèi)容,更多關于OPenCV視頻流局部區(qū)域像素處理的資料請關注腳本之家其它相關文章!
相關文章
Python入門教程(十七)Python的While循環(huán)
這篇文章主要介紹了Python入門教程(十七)Python的While循環(huán),Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下2023-04-04Python數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解
這篇文章主要為大家詳細介紹了Python數(shù)據(jù)結(jié)構(gòu)之單鏈表的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09Tornado路由與Application的實現(xiàn)
本文主要介紹了Tornado路由與Application的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05Python3自動生成MySQL數(shù)據(jù)字典的markdown文本的實現(xiàn)
這篇文章主要介紹了Python3自動生成MySQL數(shù)據(jù)字典的markdown文本的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05Python深度學習實戰(zhàn)PyQt5菜單和工具欄功能作用
本文詳細解讀通過 QtDesigner 創(chuàng)建主窗口、菜單欄和工具欄,并以菜單項 “退出” 為例關聯(lián)系統(tǒng)定義的動作處理方法。有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10