好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python-opencv中的cv2.inRange函數用法說明

python-opencv中的cv2.inRange函數用法說明

熱門標簽:地圖制圖標注位置改變是移位嗎 上海機器人外呼系統哪家好 315電話機器人廣告 地圖標注的意義點 南京銷售外呼系統軟件 房產電銷外呼系統 蓋州市地圖標注 浙江電銷卡外呼系統好用嗎 地圖標注微信發送位置不顯示

本次目標是將一副圖像從rgb顏色空間轉換到hsv顏色空間,顏色去除白色背景部分

具體就調用了cv2的兩個函數,一個是rgb轉hsv的函數

具體用法

hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV)

然后利用cv2.inRange函數設閾值,去除背景部分

mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0,

函數很簡單,參數有三個

第一個參數:hsv指的是原圖

第二個參數:lower_red指的是圖像中低于這個lower_red的值,圖像值變為0

第三個參數:upper_red指的是圖像中高于這個upper_red的值,圖像值變為0

而在lower_red~upper_red之間的值變成255

lower_red = np.array([20, 20, 20])
upper_red = np.array([200, 200, 200])
mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0,lower~upper==>255

就是將低于lower_red和高于upper_red的部分分別變成0,lower_red~upper_red之間的值變成255

具體用法如下

 hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV)
 lower_red = np.array([20, 20, 20])
 upper_red = np.array([200, 200, 200])
 # mask -> 1 channel
 mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0

補充:色彩閥值化處理——openCV-python中inRange()等相關函數實測

色彩閥值化

在圖像處理的過程中,使用各種形態學操作或者濾波的方式來突顯我們關注的元素,同時降低噪聲并減少干擾我們提取關鍵元素的影響項。除了這些方法外,我們可以在原圖中先依據顏色的特征,提取出更為關鍵的像素。就像車道檢測時,一般車道只有兩種顏色:黃色和白色。所以我們可以在 RGB 色彩空間(Color Space) 對這兩種顏色進行過濾從而提取出車道線的像素。

色彩空間:使用一組值(通常使用三個、四個值或者顏色成分)表示顏色方法的抽象數學模型。有利用原色相混的比例表示的色彩空間,如 RGB (Red, Green, Blue) 顏色空間; 也有利用不同的概念表示的色彩空間,如 HSV (色相 hue, 飽和度 saturation, 明度 value) 以及 HSL (色相 hue,飽和度 saturation,亮度 lightness/luminance) 。

在OpenCV中,RGB三通道的圖像的讀取 cv2.imread() 的結果是以 BGR 順序排列的,而在使用matplotlib的 plt.imread() 時, 讀取的通道排列順序則為 RGB 。因此此處應當注意區別。

openCV中cv2.inRange()函數是實現該功能的關鍵,我們先看看官網對該函數的定義:

dst = cv.inRange( src, lowerb, upperb[, dst] )

檢測數組元素是否位于其他兩個元素之間。

該函數檢測范圍方式如下:

對于單通道輸入的每個元素:

對于雙通道輸入:

同樣應用于四通道

也就是說,如果src (I)在指定的1D, 2D, 3D,…框內則dst(I)為255,否則為0。當下邊界和/或上邊界參數為標量時,應省略上述公式中在上、下邊界處的索引(I)。

各參數詳細含義:

src 輸入的數組

lowerb 下邊界數組或標量.

upperb 上邊界數組或標量.

dst 與src和CV_8U類型大小相同的輸出數組。

接下來將結合簡單的例子通過python更好地理解這個函數:

import matplotlib.pyplot as plt
import numpy as np
import cv2
# 對圖片進行讀取
img_cv2 = cv2.imread('D:\\test\\CVtest.jpg')
print(img_cv2)

為了方便理解,我用畫板工具畫了一個5×5像素點的紅色圖片。上述代碼運行結果為:

[[[ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]]
 [[ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]]
 [[ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]]
 [[ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]]
 [[ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]
  [ 36  27 237]]]

讀者可以自行測試一下,B=36,G=27,R=237為紅色。

# 創建RGB色彩空間
color_Low1 = np.array([30,27,237])
color_Low2 = np.array([39,27,237])
color_High = np.array([40,27,237])
# 對圖片進行閥值化處理
img_dst1 = cv2.inRange(img_cv2,color_Low1,color_High)
img_dst2 = cv2.inRange(img_cv2,color_Low2,color_High)
#對結果進行打印
print(img_dst1,'\n', img_dst2)
# 運行結果分別為
[[255 255 255 255 255]
 [255 255 255 255 255]
 [255 255 255 255 255]
 [255 255 255 255 255]
 [255 255 255 255 255]]
 [[0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]]

可以看出,當圖片中的像素點落在色彩空間時,輸出結果全是255,當像素點不落在色彩空間是,輸出結果全是0。對最終結果進行顯示:

#對圖像進行展示
cv2.imshow("origin_img",img_cv2)
cv2.imshow("dst_img1",img_dst1)
cv2.imshow("dst_img2",img_dst2)
cv2.waitKey(0)
cv2.destroyAllWindows()

最終結果為一個紅色、一個黑色的、一個白色的小點。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • python中的內置函數max()和min()及mas()函數的高級用法
  • python print()函數的end參數和sep參數的用法說明
  • python處理emoji表情(兩個函數解決兩者之間的聯系)
  • 解決python2中unicode()函數在python3中報錯的問題
  • python繪圖subplots函數使用模板的示例代碼
  • Python input()函數用法大全
  • python Pool常用函數用法總結
  • python 如何用map()函數創建多線程任務
  • Python函數參數中的*與**運算符
  • 詳解python函數傳參傳遞dict/list/set等類型的問題
  • Python3去除頭尾指定字符的函數strip()、lstrip()、rstrip()用法詳解
  • Python進階之高級用法詳細總結

標簽:日照 雙鴨山 金華 克拉瑪依 赤峰 貴州 臨汾 陽泉

巨人網絡通訊聲明:本文標題《python-opencv中的cv2.inRange函數用法說明》,本文關鍵詞  python-opencv,中的,cv2.inRange,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python-opencv中的cv2.inRange函數用法說明》相關的同類信息!
  • 本頁收集關于python-opencv中的cv2.inRange函數用法說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 晓青老师的丝袜| Chinese国产AV在线观看| 黑人导航| 国产女人在线视频| 日韩久久久乱码人人爽人人澡96 | 中国好声音2019| 国产丰满乱子伦无码| 乖女好紧H下药第19章| 锕锕锕锕锕锕| 八戒八戒www在线观看| 国产美女一区二区三区在线观看| 色情乱婬老太婆A片视频下载| 99久久亚洲精品影院| 国产极品熟女沙发内射AV| 嗯老师别我我受不了小说| 天天躁夜夜躁av| 美女视频黄频大全免费| 欧美一级做受c片| 美丽的阿?交换HD| 国产一级a毛一级a在线观看| 友田真希与黑人做| 精品欧美在线观看| 国产精品第157页| 少妇在军营H文高辣| 男人扒开女人下面狂躁动态视频| 欧美色色图| 亚洲综合视频一区| 绯色av蜜臀AV色欲Av麻豆 | 国产精品大白天新婚身材| 欧美肥臀bbwbbwbbw| 亚洲性猛交XXXX美女写真| 人妻少妇精品无码专区学生| 深夜福利视频网址| 国产一区亚洲二区三区毛片| 3d美女触手怪爆羞羞漫画| 污网站视频| 农村丰满女人伦子伦精品| 嫩草影院一区二区三区| 二次元美女露出乳胸挤奶| 欧美黄色片免费| 国产精品亚洲欧美动漫卡通|