日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 實時調取攝像頭的示例代碼

瀏覽:183日期:2022-07-04 13:03:38

調取攝像頭的實現

import numpy as npimport cv2cap = cv2.VideoCapture(0)#參數為0時調用本地攝像頭;url連接調取網絡攝像頭;文件地址獲取本地視頻while(True):ret,frame=cap.read()#灰度化gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)cv2.imshow(’frame’,gray)#普通圖片cv2.imshow(’frame’,frame)if cv2.waitKey(1)&0xFF==ord(’q’):breakcap.release()cv2.destroyAllWindows()

opencv代碼

# -*- coding: utf-8 -*-'''Spyder EditorThis is a temporary script file.'''#設置工作路徑import osos.chdir(’E:0yflSH-spyder-workspace’)os.path.abspath(’.’)import numpy as npimport cv2#1.1讀取圖片imread;展示圖片imshow;導出圖片imwrite#只是灰度圖片img=cv2.imread(’Myhero.jpg’,cv2.IMREAD_GRAYSCALE)#彩色圖片img=cv2.imread(’Myhero.jpg’,cv2.IMREAD_COLOR)#彩色以及帶有透明度img=cv2.imread(’Myhero.jpg’,cv2.IMREAD_UNCHANGED)print(img)#設置窗口可自動調節大小cv2.namedWindow(’image’,cv2.WINDOW_NORMAL)cv2.imshow(’image’,img)k=cv2.waitKey(0)#如果輸入escif k==27: #exit cv2.destroyAllWindows#如果輸入selif k==ord(’s’): #save picture and exit cv2.imwrite(’Myhero_out.png’,img) cv2.destroyAllWindows()#1.2視頻讀取#打開內置攝像頭cap=cv2.VideoCapture(0)#打開視頻cap=cv2.VideoCapture(’why.mp4’)#或者視頻每秒多少幀的數據fps=cap.get(5)i=0while(True): #讀取一幀 ret,frame=cap.read() #轉化為灰圖 gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #設置導出文件名編號 i = i + 1 #每1s導出一張 if i/fps==int(i/fps): #導出文件名為why+編號+.png #若想要導出灰圖,則將下面frame改為gray即可 cv2.imwrite('why'+str(int(i/fps))+'.png',frame) #讀完之后結束退出 if cv2.waitKey(1)==ord(’q’): breakcap.release()cv2.destoryAllWindows()#1.3圖像像素修改rangexmin=100rangexmax=120rangeymin=90rangeymax=100img=cv2.imread(’Myhero.jpg’,0)img[rangexmin:rangexmax,rangeymin:rangeymax]=[[255]*(rangeymax-rangeymin)]*(rangexmax-rangexmin)cv2.imwrite(’Myhero_out2.png’,img)#拆分以及合并圖像通道1b,g,r=cv2.split(img)img=cv2.merge(b,g,r)#png轉eps,不過非常模糊from matplotlib import pyplot as pltimg=cv2.imread(’wechat1.png’,cv2.IMREAD_COLOR)plt.imsave(’wechat_out.eps’,img)#圖像按比例混合img1=cv2.imread(’Myhero.jpg’,cv2.IMREAD_COLOR)img2=cv2.imread(’Myhero_out.png’,cv2.IMREAD_COLOR)dst=cv2.addWeighted(img1,0.5,img2,0.5,0)cv2.imwrite('Myhero_combi.jpg',dst)#1.4按位運算#加載圖像img1=cv2.imread('Myhero.jpg')img2=cv2.imread('why1.png')#后面那張圖更大rows,cols,channels=img1.shapeROI=img2[0:rows,0:cols]#做一個ROI為圖像的大小img2gray=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)#小于175的改為0,大于175的賦值為255ret,mask=cv2.threshold(img2gray,175,255,cv2.THRESH_BINARY)cv2.imwrite('Myhero_mask.jpg',mask)#255-mask=mask_invmask_inv=cv2.bitwise_not(mask)cv2.imwrite('Myhero_mask_inv.jpg',mask_inv)#在mask白色區域顯示成ROI,背景圖片img2_bg=cv2.bitwise_and(ROI,ROI,mask=mask)cv2.imwrite('Myhero_pic2_backgroud.jpg',img2_bg)#除了mask以外的區域都顯示成img1,前景圖片img1_fg=cv2.bitwise_and(img1,img1,mask=mask_inv)cv2.imwrite('Myhero_pic2_frontgroud.jpg',img1_fg)#前景圖片加上背景圖片dst = cv2.add(img2_bg,img1_fg)img2[0:rows, 0:cols ] = dstcv2.imwrite('Myhero_pic2_addgroud.jpg',dst)#finished#構建淹膜方法2#截取幀ret,frame=cap.read()#轉換到HSVhsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)#設定藍色的閾值lower_blue=np.array([110,50,50])upper_blue=np.array([130,255,255])#根據閾值構建掩模mask=cv2.inRange(hsv,lower_blue,upper_blue)#對原圖像和掩模進行位運算res=cv2.bitwise_and(frame,frame,mask=mask)#圖片放縮,用的插值方法,所以不會損害清晰度res=cv2.resize(img1,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)cv2.imwrite('Myhero_bigger.jpg',res)#第二種插值方法height,width=img.shape[:2]res=cv2.resize(img,(2*width,2*height),interpolation=cv2.INTER_CUBIC)#edge現實圖片中不好用,人工畫的圖片還可以img = cv2.imread(’why3.png’,0)edges = cv2.Canny(img,50,100)cv2.imwrite('why3_edge.png',edges)#識別輪廓,并保存輪廓點contoursimg=cv2.imread(’why129.png’)imgray=cv2.imread(’why129.png’,cv2.IMREAD_GRAYSCALE)ret,thresh = cv2.threshold(imgray,127,255,0)cv2.imwrite('2.jpg',thresh)image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)img = cv2.drawContours(img, contours, -1, (0,255,0), 3)cv2.imwrite('3.jpg',img)#輪廓img = cv2.imread(’why3.png’,0)ret,thresh = cv2.threshold(img,127,255,0)contours,hierarchy = cv2.findContours(thresh, 1, 2)cnt = contours[0] #近似輪廓epsilon = 0.1*cv2.arcLength(cnt,True)approx = cv2.approxPolyDP(cnt,epsilon,True)img = cv2.drawContours(img, approx, -1, (0,255,0), 3)cv2.imwrite('4.jpg',img)from matplotlib import pyplot as plt#圖像識別/匹配img_rgb = cv2.imread(’why174.png’)img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)img2=img_gray.copy()template = cv2.imread(’0temp.png’,0)w, h = template.shape[::-1]#共有六種識別方法methods = [’cv2.TM_CCOEFF’, ’cv2.TM_CCOEFF_NORMED’, ’cv2.TM_CCORR’, ’cv2.TM_CCORR_NORMED’, ’cv2.TM_SQDIFF’, ’cv2.TM_SQDIFF_NORMED’]for meth in methods: img = img2.copy() #eval返回某個式子的計算結果 method = eval(meth) #下面使用匹配方法 res = cv2.matchTemplate(img,template,method) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) if method in [cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]: top_left = min_loc else: top_left = max_loc bottom_right = (top_left[0] + w, top_left[1] + h) #畫矩形把他框出來 cv2.rectangle(img,top_left, bottom_right, 255, 2) plt.subplot(121),plt.imshow(res,cmap = ’gray’) plt.title(’Matching Result’), plt.xticks([]), plt.yticks([]) plt.subplot(122),plt.imshow(img,cmap = ’gray’) plt.title(’Detected Point’), plt.xticks([]), plt.yticks([]) plt.suptitle(meth) plt.show() #這個匹配結果太差#選取3,5,6的匹配方式會稍微好點:cv2.TM_CCORR;cv2.TM_SQDIFF,cv2.TM_SQDIFF_NORMED#視頻人臉識別#https://blog.csdn.net/wsywb111/article/details/79152425import cv2from PIL import Imagecap=cv2.VideoCapture('why.mp4')#告訴Opencv使用人臉識別分類器classfier=cv2.CascadeClassifier('E:0yflopencv-masterdatahaarcascadeshaarcascade_frontalface_alt2.xml')count=0while cap.isOpened(): ret,frame=cap.read() if not ret: break grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) faceRect=classfier.detectMultiScale(grey,scaleFactor=1.2, minNeighbors=3, minSize=(32, 32)) if len(faceRect)>0: count=count+1print(count)#137這種程度可以識別,111沒有成功識別,大概是側臉的緣故#截出人臉image_name='why111.png'frame=cv2.imread(image_name,0)if not (frame is None): #導入測試集 classfier=cv2.CascadeClassifier('E:0yflopencv-masterdatahaarcascadeshaarcascade_frontalface_alt2.xml') #使用測試集導出人臉的位置,存在faceRect中,可以檢測多張人臉 faceRect=classfier.detectMultiScale(frame,scaleFactor=3.0, minNeighbors=3, minSize=(32, 32)) count=0 for (x1,y1,w,h) in faceRect: count=count+1 #截取上述圖片的人臉部分并保存每一張識別出的人臉 Image.open(image_name).crop((x1,y1,x1+w,y1+h)).save(image_name.split('.')[0]+'_face_'+str(count)+'.png') if count==0: print ('No face detected!')else: print ('Picture '+ image_name +' is not exist in '+os.path.abspath('.'))#人臉上畫出矩形from PIL import Image,ImageDrawimage_name='why111.png'frame=cv2.imread(image_name,0)if not (frame is None): classfier=cv2.CascadeClassifier('E:0yflopencv-masterdatahaarcascadeshaarcascade_frontalface_alt2.xml') faceRect=classfier.detectMultiScale(frame,scaleFactor=3.0, minNeighbors=3, minSize=(32, 32)) #畫框框 img = Image.open(image_name) draw_instance = ImageDraw.Draw(img) count=0 for (x1,y1,w,h) in faceRect: draw_instance.rectangle((x1,y1,x1+w,y1+h), outline=(255, 0,0)) img.save(’drawfaces_’+image_name) count=count+1 if count==0: print ('No face detected!')else: print ('Picture '+ image_name +' is not exist in '+os.path.abspath('.'))#detectFaces()返回圖像中所有人臉的矩形坐標(矩形左上、右下頂點)#使用haar特征的級聯分類器haarcascade_frontalface_default.xml,在haarcascades目錄下還有其他的訓練好的xml文件可供選擇。#注:haarcascades目錄下訓練好的分類器必須以灰度圖作為輸入。from PIL import Image,ImageDrawimage_name='why63.png'frame=cv2.imread(image_name,0)if not (frame is None): classfier=cv2.CascadeClassifier('E:0yflopencv-masterdatahaarcascadeshaarcascade_fullbody.xml') faceRect=classfier.detectMultiScale(frame,scaleFactor=3.0, minNeighbors=3, minSize=(32, 32)) #畫框框 img = Image.open(image_name) draw_instance = ImageDraw.Draw(img) count=0 for (x1,y1,w,h) in faceRect: draw_instance.rectangle((x1,y1,x1+w,y1+h), outline=(255, 0,0)) img.save(’drawfaces_’+image_name) count=count+1 if count==0: print ('No face detected!')else: print ('Picture '+ image_name +' is not exist in '+os.path.abspath('.'))

以上就是python 實時調取攝像頭的示例代碼的詳細內容,更多關于python 調取攝像頭的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线视频精品| 在线精品亚洲欧美日韩国产| 美女视频黄 久久| 97久久亚洲| 欧美日一区二区在线观看| 日韩毛片网站| 久久国内精品视频| 亚洲欧美在线综合| 欧美在线亚洲综合一区| 夜夜嗨一区二区三区| 欧美综合国产| 日韩精品五月天| 亚洲一区二区动漫| 亚洲v天堂v手机在线| 日韩精品国产精品| 国产精品成久久久久| 久久久精品网| 久久一区欧美| 国产精品99一区二区三| 99久久久国产精品美女| 在线国产一区| 日韩高清不卡在线| 日韩av片子| 日韩专区在线视频| 国产欧美日韩| 久久久成人网| 欧美在线91| 久久97视频| 亚洲一级网站| 日韩一二三区在线观看| 国产精品久久久久蜜臀 | 九一国产精品| 国产视频一区欧美| 色综合视频一区二区三区日韩 | japanese国产精品| 麻豆国产一区| 一区二区国产在线观看| 久久久久久久久久久妇女| 美腿丝袜亚洲一区| 日韩精品免费视频人成 | 日韩福利在线观看| 成人av三级| 欧美aa在线视频| 天堂成人国产精品一区| 激情婷婷欧美| 五月天激情综合网| 欧美大黑bbbbbbbbb在线| 日韩欧美一区二区三区在线观看 | 在线亚洲一区| 亚洲三级网址| jiujiure精品视频播放| 国产乱人伦丫前精品视频| 麻豆理论在线观看| 久久99精品久久久野外观看| 另类国产ts人妖高潮视频| se01亚洲视频| 国产一区二区三区日韩精品| 91国内精品| 欧美在线精品一区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲女同av| 日韩不卡一区二区三区 | 蜜臀久久久99精品久久久久久| 国产一区亚洲| 免费久久精品| 国产一区观看| 9国产精品视频| 伊人久久婷婷| 一区二区三区四区日韩| 综合一区av| 91成人小视频| 国产极品模特精品一二| 国产精品日本一区二区三区在线| 欧美日韩夜夜| 日本精品另类| 日本一二区不卡| 久久亚洲国产| 免费在线观看精品| 欧美视频二区| 国产精品毛片久久| 久久中文亚洲字幕| av不卡在线看| 国产调教精品| 日韩av福利| 影院欧美亚洲| 国产精品亚洲四区在线观看| 久久三级毛片| 欧美在线网站| 国产精品欧美在线观看| 国产精品久久乐| 精品日韩视频| 中文字幕av亚洲精品一部二部| 国产美女视频一区二区| 久久久一本精品| 免费看欧美美女黄的网站| 国产精品伊人| 成人羞羞视频播放网站| 综合一区二区三区| www在线观看黄色| 亚洲精品极品| 性欧美xxxx免费岛国不卡电影| 亚洲理论在线| 蜜桃国内精品久久久久软件9| 日韩综合小视频| 国产精品久久久久久久久妇女| 蜜桃av一区二区三区电影| 精品国产精品久久一区免费式 | 久久国产中文字幕| 日韩三级视频| 欧美一区二区性| 麻豆精品久久久| 亚洲日本免费电影| 亚洲播播91| 免费在线欧美黄色| 老鸭窝亚洲一区二区三区| 97精品视频在线看| 国产日韩欧美三区| 热久久久久久久| 激情婷婷亚洲| 免费污视频在线一区| 久久超碰99| 久久精品999| 欧美一级久久| 日韩免费精品| 日本亚州欧洲精品不卡| 亚洲天堂av资源在线观看| 欧美日一区二区| 久久久一本精品| 久久精品免费一区二区三区 | 青草综合视频| 午夜视频一区二区在线观看| 影院欧美亚洲| 红杏一区二区三区| 国产精品高潮呻吟久久久久| 鲁大师成人一区二区三区 | 六月婷婷综合| 亚洲人成在线网站| 国产+成+人+亚洲欧洲在线| 日韩欧美中文字幕在线视频| 亚洲91在线| 久久狠狠久久| 欧美激情99| 日韩综合一区| 中文在线а√在线8| 日韩电影二区| 中文av在线全新| 日韩精品永久网址| 日韩伦理在线一区| 日韩电影免费网址| 欧美久久精品一级c片| 怡红院精品视频在线观看极品| 波多野结衣一区| 精品一区免费| 日本精品影院| 美女av在线免费看| 香蕉成人av| 亚洲激情不卡| 在线日韩成人| 亚洲精品婷婷| 你懂的国产精品| 国产一区二区久久久久| 亚洲国产欧美日本视频| 日韩电影免费网址| 亚洲一区成人| 日韩一区二区三免费高清在线观看| 久久国产精品毛片| 久久国产精品免费精品3p| 国产福利91精品一区二区| 麻豆视频久久| 欧美不卡高清一区二区三区| 欧美日韩国产传媒| 中文字幕免费一区二区| 久久久久久一区二区| 婷婷综合在线| 欧美日韩中出| 播放一区二区| 国产激情精品一区二区三区| 亚洲不卡av不卡一区二区| 在线精品观看| 久久久久99| 精品国产成人| 中文字幕av一区二区三区四区| 91成人在线精品视频| 美女性感视频久久| 日韩专区一卡二卡| 久久伊人国产| 蜜桃av一区二区| 欧美羞羞视频| 欧美日韩一区二区三区四区在线观看| 日韩欧美精品| 久久的色偷偷| 亚洲91在线| 男人的天堂久久精品| 丝袜诱惑一区二区| 国产精品多人| 97久久精品| 国产亚洲电影| 日本不卡的三区四区五区| 日韩精品看片| 国产成人免费av一区二区午夜|