欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > python OpenCV學習筆記

python OpenCV學習筆記

熱門標簽:西藏智能外呼系統五星服務 江蘇客服外呼系統廠家 400電話申請服務商選什么 在哪里辦理400電話號碼 原裝電話機器人 千陽自動外呼系統 平頂山外呼系統免費 工廠智能電話機器人 清遠360地圖標注方法

圖像翻轉

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

pip install imutils

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

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

可以在上面這個地址里面學習更多的使用方式。

import cv2
import imutils

'''
imutils.rotate
第一個參數是翻轉的圖像,第二個參數的翻轉角度
函數還提供翻轉中心的設置,但默認就是中心翻轉。
'''
vc = cv2.VideoCapture(0)

if vc.isOpened():
  flag, frame = vc.read()
  img = imutils.rotate(frame, 180)  # 圖像翻轉 
  cv2.imshow("frame", img)
else:
  flag = False

while flag:
  flag, frame = vc.read()
  if frame is None:
    break
  if flag is True:
    img = imutils.rotate(frame, 180)  # 圖像翻轉
    cv2.imshow("frame", img)
    if cv2.waitKey(10) == 27:
      break
vc.release()
cv2.destroyAllWindows()

這樣寫的話,最后的輸出圖像就是翻轉180度的。

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

圖像輪廓排序

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

from imutils import contours
import cv2
'''
contours.sort_contours
可選排序方式:"left-to-right", "right-to-left", "top-to-bottom", "bottom-to-top"
返回值為輪廓和外接矩形

contours.label_contour
contours包內自帶的畫輪廓的函數,可以直接用,然后可以在圖片上標出輪廓序號
也可以直接使用cv2.drawContours直接畫輪廓
'''
img = cv2.imread(r"D:\opencv-workspace\Opencv\test17--VScode\shapes.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")  # 對輪廓進行排序處理
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)
# 根據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()

這樣寫的話,最后的輸出圖像就是翻轉180度的。

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

圖像輪廓排序

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

from imutils import contours
import cv2
'''
contours.sort_contours
可選排序方式:"left-to-right", "right-to-left", "top-to-bottom", "bottom-to-top"
返回值為輪廓和外接矩形

contours.label_contour
contours包內自帶的畫輪廓的函數,可以直接用,然后可以在圖片上標出輪廓序號
也可以直接使用cv2.drawContours直接畫輪廓
'''
img = cv2.imread(r"D:\opencv-workspace\Opencv\test17--VScode\shapes.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")  # 對輪廓進行排序處理
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)
# 根據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()

顏色識別

基礎顏色識別

顏色識別是在HSV空間內進行的,因此在使用之前先進行顏色空間的轉換。

'''使用下面這個函數進行轉換,第一個參數填寫要轉換的圖片,第二個參數填寫cv2.COLOR_BGR2HSV'''
cv2.cvtColor
import cv2
import numpy as np
'''
cv2.inRange
函數很簡單,參數有三個
第一個參數:hsv指的是原圖
第二個參數:lower_red指的是圖像中低于這個lower_red的值,圖像值變為0
第三個參數:upper_red指的是圖像中高于這個upper_red的值,圖像值變為0
而在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-workspace\Opencv\test16--VScode\photo.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)
# 使用下面這個函數能顯示原來的顏色。
res_green = cv2.bitwise_and(img, img, mask=mask_green)
cv2.imshow("img", res_green)
cv2.waitKey(0)
cv2.destroyAllWindows()

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

根據BGR獲取HSV

import cv2

color = np.uint8([[[193, 189, 147]]])  # 參數填寫BGR的值
hsv = cv2.cvtColor(color, cv2.COLOR_BGR2HSV)
print(hsv)  # 打印出來的數值就是對應的HSV值

程序運行的結果是

[[[ 93 61 193]]]

這個就是對應的HSV的值。

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

閾值編輯器

import cv2
import numpy as np


def 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-workspace\Opencv\test16--VScode\test.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學習筆記的詳細內容,更多關于python OpenCV的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 使用python和opencv的mask實現摳圖疊加
  • Python opencv缺陷檢測的實現及問題解決
  • Python OpenCV快速入門教程
  • python讀取并顯示圖片的三種方法(opencv、matplotlib、PIL庫)
  • python opencv常用圖形繪制方法(線段、矩形、圓形、橢圓、文本)
  • python基于OpenCV模板匹配識別圖片中的數字
  • python-opencv中的cv2.inRange函數用法說明

標簽:西安 白城 天水 日照 隨州 安慶 錦州 股票

巨人網絡通訊聲明:本文標題《python OpenCV學習筆記》,本文關鍵詞  python,OpenCV,學習,筆記,python,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python OpenCV學習筆記》相關的同類信息!
  • 本頁收集關于python OpenCV學習筆記的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日韩精彩视频在线观看| 亚洲黄色在线网站| 久久中文免费视频| 欧美韩日一区二区三区四区| 欧美a级理论片| av无码av天天av天天爽| 91精品国产综合久久婷婷香蕉| 亚洲国产日韩a在线播放| 少妇愉情理伦片bd| 欧美特级限制片免费在线观看| 亚洲三级小视频| 91在线视频官网| 欧美性受极品xxxx喷水| 亚洲综合一区在线| 国产日韩视频一区| 91精品国产综合久久久久久| 日韩中文字幕一区二区三区| 一本色道综合久久欧美日韩精品 | 国产精品扒开腿做爽爽| 精品国产乱码久久久久久闺蜜| 毛片av一区二区| 亚洲精品国产精品国自| 国产精品色眯眯| 99久久精品免费观看| 欧美日韩你懂得| 日韩激情视频在线观看| 久久婷婷五月综合| 国产精品久久久久永久免费观看| 不卡一卡二卡三乱码免费网站| 在线观看91精品国产入口| 亚洲丶国产丶欧美一区二区三区| 一区二区视频观看| 久久久蜜臀国产一区二区| 丁香五精品蜜臀久久久久99网站| 午夜av入18在线| 亚洲国产综合人成综合网站| 国产又粗又长又爽| 精品国产sm最大网站免费看| 国产91精品一区二区麻豆网站| 在线视频欧美精品| 日韩激情视频网站| 久久嫩草捆绑紧缚| 一区二区三区在线观看国产| 国产又黄又粗又猛又爽的视频| 精品久久久久久久人人人人传媒| 成人在线一区二区三区| 欧美日韩一级二级| 精品一区二区国语对白| 青青草国产成人99久久| 黄色精品视频在线观看| 亚洲一区免费在线观看| 亚洲一区二区三区日韩| 国产精品不卡在线| xxxx黄色片| 国产精品久久久久影视| 99精品一区二区三区无码吞精 | 性生交大片免费看l| 欧美mv日韩mv亚洲| av一区二区久久| 日韩精品一区二区三区四区视频 | 717成人午夜免费福利电影| 久久99精品久久久久久国产越南| 国产在线一卡二卡| 人人精品人人爱| 丝袜 亚洲 另类 欧美 重口| 五月婷婷综合在线| www.av免费| 奇米影视在线99精品| 色综合久久综合网| 麻豆视频观看网址久久| 色天使色偷偷av一区二区| 蜜臀av国产精品久久久久| 色美美综合视频| 极品尤物av久久免费看| 欧美午夜寂寞影院| 国产经典欧美精品| 欧美一级国产精品| 91原创在线视频| 国产亚洲精久久久久久| 少妇被狂c下部羞羞漫画| 中文字幕一区二区三区四区| 国产特黄级aaaaa片免| 一区二区三区四区激情| 亚洲精品天堂网| 日本不卡一区二区三区| 在线观看亚洲专区| 国产成人免费av在线| 欧美成人午夜电影| 农村末发育av片一区二区| 国产精品色哟哟| 永久免费av无码网站性色av| 午夜视频一区在线观看| 91成人免费网站| 国产91高潮流白浆在线麻豆| 精品免费视频一区二区| 亚洲一区二区三区黄色| 国产精品福利av| 午夜国产福利视频| 精品一区二区影视| 欧美一级欧美三级在线观看| 95精品视频在线| 成人欧美一区二区三区视频网页 | 国产精品麻豆久久久| www.av天天| 免费成人性网站| 欧美高清视频一二三区| 91麻豆国产福利精品| 国产精品久久久久久久第一福利 | jlzzjlzz国产精品久久| 国产无人区一区二区三区| 亚洲国产av一区| 日韩电影在线观看电影| 91麻豆精品91久久久久久清纯 | 肉肉av福利一精品导航| 91久久奴性调教| 波多野结衣精品在线| 国产精品私人影院| 亚洲毛片亚洲毛片亚洲毛片| 极品少妇一区二区| 26uuu亚洲| 亚洲精品成人无码| 久久成人免费网| 久久综合色之久久综合| 亚洲av无码一区二区三区人| 毛片一区二区三区| 久久亚洲精华国产精华液| 日本少妇xxxxx| 国产一区二区网址| 欧美激情资源网| 精品国产精品国产精品| 成人av在线网站| 亚洲欧美电影一区二区| 在线精品视频一区二区三四| 91网站最新网址| 亚洲国产欧美在线| 777午夜精品视频在线播放| 人妻体内射精一区二区三区| 五月天激情综合网| 日韩一区二区三区在线视频| 精品少妇一区二区三区免费观| 精品在线你懂的| 亚洲国产精品传媒在线观看| 黄色片子在线观看| 99re在线精品| 亚洲国产精品一区二区久久恐怖片 | av在线免费观看不卡| 亚洲午夜精品久久久久久久久| 欧美丰满一区二区免费视频| 亚洲一区二区三区四区五区六区 | 在线不卡中文字幕播放| 中文字幕av网址| 国产一区二区三区国产| 一区在线播放视频| 欧美视频在线一区二区三区 | 日韩欧美国产wwwww| 精品人妻中文无码av在线| 丰满白嫩尤物一区二区| 亚洲美女免费在线| 91精品国产一区二区三区| 男人舔女人下部高潮全视频| 国产成人av福利| 亚洲国产日韩a在线播放性色| 日韩久久久精品| 午夜三级在线观看| 老司机av网站| 久久国产精品色婷婷| 国产精品视频yy9299一区| 欧美日韩小视频| 先锋影音av在线| 91污在线观看| 老色鬼精品视频在线观看播放| 国产精品视频线看| 欧美日韩国产高清一区二区| 91中文字幕永久在线| 成人黄色av电影| 石原莉奈一区二区三区在线观看| 国产人成亚洲第一网站在线播放| 色妹子一区二区| 精品无码国产污污污免费网站 | 日本伦理一区二区| 亚洲一本大道在线| 久久久噜噜噜久久人人看| 日本电影亚洲天堂一区| 日韩一级av毛片| 日本在线视频播放| 国产综合色视频| 亚洲一区二区三区四区在线观看 | 日韩免费观看高清完整版在线观看| 很污很黄的网站| 中文字幕在线视频播放| 国产成人超碰人人澡人人澡| 亚洲成精国产精品女| 欧美国产综合色视频| 88在线观看91蜜桃国自产| 日韩在线一卡二卡| 日韩片在线观看| 91香蕉视频mp4| 国产成人午夜精品影院观看视频 | 国产激情精品久久久第一区二区 | 精品av久久707|