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

您的位置:首頁技術(shù)文章
文章詳情頁

python OpenCV學(xué)習(xí)筆記

瀏覽:222日期:2022-06-23 16:47:28
圖像翻轉(zhuǎn)

使用Python的一個包,imutils。使用下面的指令可以安裝。

pip install imutils

imutils包的Github地址:https://github.com/jrosebr1/imutils

CSDN鏡像:https://codechina.csdn.net/mirrors/jrosebr1/imutils

可以在上面這個地址里面學(xué)習(xí)更多的使用方式。

import cv2import imutils’’’imutils.rotate第一個參數(shù)是翻轉(zhuǎn)的圖像,第二個參數(shù)的翻轉(zhuǎn)角度函數(shù)還提供翻轉(zhuǎn)中心的設(shè)置,但默認(rèn)就是中心翻轉(zhuǎn)。’’’vc = cv2.VideoCapture(0)if vc.isOpened(): flag, frame = vc.read() img = imutils.rotate(frame, 180) # 圖像翻轉(zhuǎn) cv2.imshow('frame', img)else: flag = Falsewhile flag: flag, frame = vc.read() if frame is None: break if flag is True: img = imutils.rotate(frame, 180) # 圖像翻轉(zhuǎn) cv2.imshow('frame', img) if cv2.waitKey(10) == 27: breakvc.release()cv2.destroyAllWindows()

這樣寫的話,最后的輸出圖像就是翻轉(zhuǎn)180度的。

imutils包里還有其他好用的函數(shù),resizing、4-point Perspective Transform、Sorting Contours等等。

圖像輪廓排序

這個效果同樣也是依靠imutils包完成。

from imutils import contoursimport cv2’’’contours.sort_contours可選排序方式:'left-to-right', 'right-to-left', 'top-to-bottom', 'bottom-to-top'返回值為輪廓和外接矩形contours.label_contourcontours包內(nèi)自帶的畫輪廓的函數(shù),可以直接用,然后可以在圖片上標(biāo)出輪廓序號也可以直接使用cv2.drawContours直接畫輪廓’’’img = cv2.imread(r'D:opencv-workspaceOpencvtest17--VScodeshapes.png')draw_img = img.copy()img_rect = img.copy()gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)img = cv2.Canny(gray, 10, 20) # Canny邊緣檢測cnts, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) # 獲得輪廓(cnts, boundingBoxes) = contours.sort_contours(cnts, 'top-to-bottom') # 對輪廓進(jìn)行排序處理for (i, c) in enumerate(cnts): sortedImage = contours.label_contour(draw_img, c, i, color=(240, 0, 159))# img_out = cv2.drawContours(draw_img, cnts, -1, (240, 0, 159), 2)# 根據(jù)boundingBoxes畫外接矩形for (x, y, w, h) in boundingBoxes: img_rect = cv2.rectangle(img_rect, (x, y), (x+w, y+h), (240, 0, 159), 2)cv2.imshow('top-to-bottom', sortedImage)cv2.imshow('rect', img_rect)cv2.waitKey(0)cv2.destroyAllWindows()

這樣寫的話,最后的輸出圖像就是翻轉(zhuǎn)180度的。

imutils包里還有其他好用的函數(shù),resizing、4-point Perspective Transform、Sorting Contours等等。

圖像輪廓排序

這個效果同樣也是依靠imutils包完成。

from imutils import contoursimport cv2’’’contours.sort_contours可選排序方式:'left-to-right', 'right-to-left', 'top-to-bottom', 'bottom-to-top'返回值為輪廓和外接矩形contours.label_contourcontours包內(nèi)自帶的畫輪廓的函數(shù),可以直接用,然后可以在圖片上標(biāo)出輪廓序號也可以直接使用cv2.drawContours直接畫輪廓’’’img = cv2.imread(r'D:opencv-workspaceOpencvtest17--VScodeshapes.png')draw_img = img.copy()img_rect = img.copy()gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)img = cv2.Canny(gray, 10, 20) # Canny邊緣檢測cnts, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) # 獲得輪廓(cnts, boundingBoxes) = contours.sort_contours(cnts, 'top-to-bottom') # 對輪廓進(jìn)行排序處理for (i, c) in enumerate(cnts): sortedImage = contours.label_contour(draw_img, c, i, color=(240, 0, 159))# img_out = cv2.drawContours(draw_img, cnts, -1, (240, 0, 159), 2)# 根據(jù)boundingBoxes畫外接矩形for (x, y, w, h) in boundingBoxes: img_rect = cv2.rectangle(img_rect, (x, y), (x+w, y+h), (240, 0, 159), 2)cv2.imshow('top-to-bottom', sortedImage)cv2.imshow('rect', img_rect)cv2.waitKey(0)cv2.destroyAllWindows()

python OpenCV學(xué)習(xí)筆記

顏色識別基礎(chǔ)顏色識別

顏色識別是在HSV空間內(nèi)進(jìn)行的,因此在使用之前先進(jìn)行顏色空間的轉(zhuǎn)換。

’’’使用下面這個函數(shù)進(jìn)行轉(zhuǎn)換,第一個參數(shù)填寫要轉(zhuǎn)換的圖片,第二個參數(shù)填寫cv2.COLOR_BGR2HSV’’’cv2.cvtColor

import cv2import numpy as np’’’cv2.inRange函數(shù)很簡單,參數(shù)有三個第一個參數(shù):hsv指的是原圖第二個參數(shù):lower_red指的是圖像中低于這個lower_red的值,圖像值變?yōu)?第三個參數(shù):upper_red指的是圖像中高于這個upper_red的值,圖像值變?yōu)?而在lower_red~upper_red之間的值變成255’’’# 閾值lower_green = np.array([50, 255, 255])upper_green = np.array([70, 255, 255])img = cv2.imread(r'D:opencv-workspaceOpencvtest16--VScodephoto.jpg')img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)mask_green = cv2.inRange(img_hsv, lower_green, upper_green)cv2.imshow('img_or', mask_green)# 使用下面這個函數(shù)能顯示原來的顏色。res_green = cv2.bitwise_and(img, img, mask=mask_green)cv2.imshow('img', res_green)cv2.waitKey(0)cv2.destroyAllWindows()

python OpenCV學(xué)習(xí)筆記

python OpenCV學(xué)習(xí)筆記

python OpenCV學(xué)習(xí)筆記

在進(jìn)行顏色識別時,難免會出現(xiàn)“漏顏色”的現(xiàn)象,也就是會出現(xiàn)沒識別全的現(xiàn)象。這個時候可以再對圖像進(jìn)行處理,比如說進(jìn)行形態(tài)學(xué)處理,讓圖像更加飽滿之類的。

根據(jù)BGR獲取HSV

import cv2color = np.uint8([[[193, 189, 147]]]) # 參數(shù)填寫B(tài)GR的值hsv = cv2.cvtColor(color, cv2.COLOR_BGR2HSV)print(hsv) # 打印出來的數(shù)值就是對應(yīng)的HSV值

程序運行的結(jié)果是

[[[ 93 61 193]]]

這個就是對應(yīng)的HSV的值。

根據(jù)之前寫的顏色識別,就需要把對應(yīng)的閾值寫出。具體寫法就是保持S和V不變,H加減10。這樣的話就可以寫出高低閾值然后應(yīng)用到顏色識別里面就可以了。

閾值編輯器

import cv2import numpy as npdef function(x): lowH = cv2.getTrackbarPos('lowH', 'img_666') lowS = cv2.getTrackbarPos('lowS', 'img_666') lowV = cv2.getTrackbarPos('lowV', 'img_666') HighH = cv2.getTrackbarPos('HighH', 'img_666') HighS = cv2.getTrackbarPos('HighS', 'img_666') HighV = cv2.getTrackbarPos('HighV', 'img_666') # print(lowH, lowS, lowV, HighH, HighS, HighV) lower = np.uint8([lowH, lowS, lowV]) upper = np.uint8([HighH, HighS, HighV]) mask = cv2.inRange(img_hsv, lower, upper) res = cv2.bitwise_and(img, img, mask=mask) cv2.imshow('img', res)img = cv2.imread(r'D:opencv-workspaceOpencvtest16--VScodetest.jpg')img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)cv2.namedWindow('img_666')cv2.createTrackbar('lowH', 'img_666', 0, 179, function)cv2.createTrackbar('lowS', 'img_666', 0, 255, function)cv2.createTrackbar('lowV', 'img_666', 0, 255, function)cv2.createTrackbar('HighH', 'img_666', 0, 179, function)cv2.createTrackbar('HighS', 'img_666', 0, 255, function)cv2.createTrackbar('HighV', 'img_666', 0, 255, function)cv2.imshow('img', img)cv2.waitKey(0)cv2.destroyAllWindows()

寫了一個比較垃圾的閾值編輯器。。。就不多解釋了。。

python OpenCV學(xué)習(xí)筆記

以上就是python OpenCV學(xué)習(xí)筆記的詳細(xì)內(nèi)容,更多關(guān)于python OpenCV的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本综合字幕| 国产亚洲观看| 精品视频国产| 麻豆一区二区三| 国产精品调教视频| 久久精品免视看国产成人| 国产美女视频一区二区| 91福利精品在线观看| 国产图片一区| 精品三级国产| 国产白浆在线免费观看| 久久久久网站| 亚洲激情另类| 五月激激激综合网色播 | 911亚洲精品| 国产日韩一区二区三区在线| 国产精品欧美在线观看| 久久影院一区二区三区| 成人亚洲精品| 激情综合自拍| 亚洲精品裸体| 免费在线亚洲欧美| 日韩精品看片| 中文字幕亚洲在线观看| 国产日本久久| 91看片一区| 亚洲深深色噜噜狠狠爱网站| 国产三级一区| 亚洲永久av| 91久久久久| 日韩国产精品久久久久久亚洲| 国产精品美女在线观看直播| 日韩电影免费在线观看| 在线日韩欧美| 日韩精品91亚洲二区在线观看| 国产乱子精品一区二区在线观看| 成人精品久久| 五月天久久777| 91成人在线精品视频| 国产一区二区三区久久| 日韩视频免费| 国产欧美在线| 国产91久久精品一区二区| 四虎国产精品免费久久| 日韩不卡一区| 99国产精品久久久久久久| 日韩国产欧美视频| 蜜臀久久精品| 只有精品亚洲| av中文资源在线资源免费观看| 久久亚洲二区| 欧美国产小视频| 综合色就爱涩涩涩综合婷婷| 国模大尺度视频一区二区| 日韩网站在线| 久久精品国产福利| 日本欧洲一区二区| 中文字幕色婷婷在线视频| 中文字幕av亚洲精品一部二部| 国产精品福利在线观看播放| 亚洲欧美日本视频在线观看| 久久精品免视看国产成人| 另类亚洲自拍| 另类综合日韩欧美亚洲| 性欧美长视频| 福利一区二区| 亚洲综合福利| 亚洲精品一级二级| 久久激情五月激情| 亚洲欧洲一区| 国产成人精品三级高清久久91| 亚洲网址在线观看| 日本不良网站在线观看| 青青国产91久久久久久| 免费精品国产的网站免费观看| 97精品久久| 欧美日韩国产一区二区三区不卡| 国产精品一区二区三区www| 蜜桃视频欧美| 国产精品久久久久久久免费软件 | 美美哒免费高清在线观看视频一区二区| 国产精品1区| 中文在线一区| 秋霞国产精品| 国产亚洲人成a在线v网站| 欧美aa国产视频| 麻豆精品在线观看| 日韩中文欧美在线| av免费不卡国产观看| 国产乱子精品一区二区在线观看| 亚洲经典在线| 久久婷婷久久| 国产在线日韩精品| 日韩av一区二区在线影视| 久久先锋影音| 在线精品小视频| 日韩欧美中文| 国产精品第十页| 亚洲人成亚洲精品| 欧美影院三区| 91亚洲国产| 久久超级碰碰| 亚洲人成网站在线在线观看| 天堂网在线观看国产精品| 欧美伊人久久| 亚洲精品一区二区妖精| 国产精品国产三级国产在线观看| 亚洲日产国产精品| 欧美搞黄网站| 久久人人97超碰国产公开结果| 欧美国产日本| 国产亚洲人成a在线v网站| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 久久精品九色| 欧美日韩一区自拍| 亚洲久草在线| 五月精品视频| 亚洲午夜黄色| 九一国产精品| 久久久久久久久久久妇女 | 久久中文字幕av| 久久精品国内一区二区三区水蜜桃| 国产成人精品福利| 丰满少妇一区| 成人高清一区| 高清一区二区| 日韩欧美中文| 91精品一区国产高清在线gif | 成人国产精品一区二区免费麻豆| 国产精品亚洲四区在线观看 | 欧美女激情福利| 欧美日韩色图| 国产综合亚洲精品一区二| 日韩免费久久| 国产在线|日韩| 久久久水蜜桃av免费网站| 成人台湾亚洲精品一区二区| 麻豆国产一区| 国产一区二区三区不卡av| 久久久国产精品入口麻豆| 欧美国产视频| 精品成人18| 日韩啪啪电影网| 香蕉成人av| 91久久视频| 亚洲视频播放| 亚洲狼人精品一区二区三区| 日本一区二区三区中文字幕| 欧美一级二级视频| 久久影院一区二区三区| 伊人久久av| 免费观看久久av| 国产精品av一区二区| 久久国产精品毛片| 午夜电影一区| 久久久91麻豆精品国产一区| 国产夫妻在线| 欧洲毛片在线视频免费观看| 影音先锋久久精品| 国产日韩中文在线中文字幕| 国产成人调教视频在线观看| 久久久久久久久99精品大| 久热精品在线| 国产精品乱战久久久| 日韩三区免费| 性色一区二区| 国产精品午夜av| 精品国产一区二| 美女网站一区| 日韩国产91| 国产一区二区精品久| 欧美 日韩 国产精品免费观看| 中文字幕一区二区三区在线视频| 国产精品极品| 久久国产电影| 亚洲精品福利| 国产一区不卡| 另类亚洲自拍| 精品国产乱码久久久久久樱花| 九九在线精品| 久久国产人妖系列| 成人羞羞视频播放网站| 热久久国产精品| 精品一二三区| 影音国产精品| 欧美黄页在线免费观看| 91精品高清| 91福利精品在线观看| 欧美精选视频一区二区| 日韩二区在线观看| av高清一区| 国产乱人伦精品一区| 国产99久久| 国产欧美日韩视频在线| 99久久精品国产亚洲精品| 日韩不卡手机在线v区| 久久久久蜜桃| 色综合视频一区二区三区日韩| 日韩精品电影| 日韩激情中文字幕|