最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV基礎(chǔ)HSV顏色空間*args與**kwargs滑動(dòng)條傳參問(wèn)題

 更新時(shí)間:2021年10月16日 15:47:47   作者:_睿智_  
這篇文章主要介紹了OpenCV基礎(chǔ)中HSV顏色空間*args與**kwargs滑動(dòng)條傳參問(wèn)題的詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助

一、基礎(chǔ)理論

HSV:HSV是一種為了加快調(diào)色效率,且易于理解的概念。

Hue:色相(具體的顏色)

Saturation:飽和度、色彩純凈度

Value:明度

1、Hue(色相)

Hue:色相(具體的顏色)

2、Value(明度)

明度:色彩的明亮程度,單通道亮度(并不等同于整體發(fā)光量)。

(明度越高越白,越低越黑,一般提高明度會(huì)同時(shí)提高R、G、B三通道的數(shù)值)

3、Saturation(飽和度)

Saturation:飽和度、色彩純度。(越低越灰,越高越純)

(一般調(diào)高飽和度會(huì)降低RGB中相對(duì)較低的數(shù)值,凸顯主要顏色的純度。 )

B站視頻講解:

短動(dòng)畫慢語(yǔ)速1分鐘講清影視調(diào)色中色彩形成原理基礎(chǔ)——RGB與HSV

二、hsv三通道及單通道效果

三、*args && **kwargs

*args:傳入?yún)?shù)未知,且不需要知道參數(shù)名稱。

**args:傳入?yún)?shù)未知,但需要知道參數(shù)名稱。

四、滾動(dòng)條控制h、s、v(min && max)

1、創(chuàng)建滾動(dòng)條

API

CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname,
                              int* value, int count,
                              TrackbarCallback onChange = 0,
                              void* userdata = 0);

形式參數(shù)一trackbarname:滑動(dòng)空間的名稱;

形式參數(shù)二winname:滑動(dòng)空間用于依附的圖像窗口的名稱;

形式參數(shù)三value:初始化閾值;

形式參數(shù)四count:滑動(dòng)控件的刻度范圍;

形式參數(shù)五TrackbarCallback:是回調(diào)函數(shù),其定義如下

typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);
# 3、創(chuàng)建h、s、v滾動(dòng)條
    cv2.createTrackbar('hmin', 'h', 12, 179, Renew)
    cv2.createTrackbar('hmax', 'h', 37, 179, Renew)
    cv2.createTrackbar('smin', 's', 12, 179, Renew)
    cv2.createTrackbar('smax', 's', 37, 179, Renew)
    cv2.createTrackbar('vmin', 'v', 12, 179, Renew)
    cv2.createTrackbar('vmax', 'v', 37, 179, Renew)

2、回調(diào)函數(shù) -- 閾值設(shè)置

API

inRange()

主要是將在兩個(gè)閾值內(nèi)的像素值設(shè)置為白色(255),而不在閾值區(qū)間內(nèi)的像素值設(shè)置為黑色(0),該功能類似于之間所講的雙閾值化操作。

    void inRange(InputArray src, InputArray lowerb,
                              InputArray upperb, OutputArray dst);

參數(shù)1:輸入要處理的圖像,可以為單通道或多通道。

參數(shù)2:包含下邊界的數(shù)組或標(biāo)量。

參數(shù)3:包含上邊界數(shù)組或標(biāo)量。

參數(shù)4:輸出圖像,與輸入圖像src 尺寸相同且為CV_8U 類型。

(注:dst輸出二值化之后的圖像)

# 1、獲取滑動(dòng)條反饋值
    hmin = cv2.getTrackbarPos('hmin', 'h')
    hmax = cv2.getTrackbarPos('hmax', 'h')
    smin = cv2.getTrackbarPos('smin', 's')
    smax = cv2.getTrackbarPos('smax', 's')
    vmin = cv2.getTrackbarPos('vmin', 'v')
    vmax = cv2.getTrackbarPos('vmax', 'v')
 
    # 2、設(shè)置閾值(inRange:在閾值(min,max)之內(nèi),設(shè)置為白色;在閾值之外,設(shè)置為黑色)
    h_thresh = cv2.inRange(np.array(h), np.array(hmin), np.array(hmax))
    s_thresh = cv2.inRange(np.array(s), np.array(smin), np.array(smax))
    v_thresh = cv2.inRange(np.array(v), np.array(vmin), np.array(vmax))

3、回調(diào)函數(shù) -- 感興趣值

API

bitwise_and()

圖像的與運(yùn)算主要用于獲取某個(gè)圖像中感興趣的部分,是針對(duì)兩個(gè)圖像矩陣數(shù)組或一個(gè)數(shù)組與標(biāo)量的按位與。

# 3、獲取感興趣二值(與運(yùn)算)
    interest = cv2.bitwise_and(h_thresh, cv2.bitwise_and(s_thresh, v_thresh))

總代碼

# HSV顏色空間與滑動(dòng)條(*args && **args)
import cv2
import numpy as np
# 回調(diào)函數(shù)
# *args:傳入?yún)?shù)未知,且不需要知道參數(shù)名稱
# **args:傳入?yún)?shù)未知,但需要知道參數(shù)名稱
def HSV_CallBack(*args):
    # 1、獲取滑動(dòng)條反饋值
    hmin = cv2.getTrackbarPos('hmin', 'h_binary')
    hmax = cv2.getTrackbarPos('hmax', 'h_binary')
    smin = cv2.getTrackbarPos('smin', 's_binary')
    smax = cv2.getTrackbarPos('smax', 's_binary')
    vmin = cv2.getTrackbarPos('vmin', 'v_binary')
    vmax = cv2.getTrackbarPos('vmax', 'v_binary')
    # 2、設(shè)置閾值(inRange:在閾值(min,max)之內(nèi),設(shè)置為白色;在閾值之外,設(shè)置為黑色)
    h_binary = cv2.inRange(np.array(h), np.array(hmin), np.array(hmax))
    s_binary = cv2.inRange(np.array(s), np.array(smin), np.array(smax))
    v_binary = cv2.inRange(np.array(v), np.array(vmin), np.array(vmax)) 
    # 3、獲取感興趣二值(與運(yùn)算)
    binary = cv2.bitwise_and(h_binary, cv2.bitwise_and(s_binary, v_binary)) 
    # 4、顯示
    cv2.imshow('h_binary', h_binary)
    cv2.imshow('s_binary', s_binary)
    cv2.imshow('v_binary', v_binary)
    cv2.imshow('binary', binary) 
def Show_HSV():
    global hsv, h, s, v
    # 0、創(chuàng)建窗口
    cv2.namedWindow('h_binary')
    cv2.namedWindow('s_binary')
    cv2.namedWindow('v_binary')
    # 1、獲取hsv圖片
    hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
    cv2.imshow('hsv', hsv)
    # 2、獲取h、s、v三通道圖片
    h, s, v = cv2.split(hsv)
    # 3、創(chuàng)建h、s、v滾動(dòng)條
    cv2.createTrackbar('hmin', 'h_binary', 12, 179, HSV_CallBack)
    cv2.createTrackbar('hmax', 'h_binary', 37, 179, HSV_CallBack)
    cv2.createTrackbar('smin', 's_binary', 12, 179, HSV_CallBack)
    cv2.createTrackbar('smax', 's_binary', 37, 179, HSV_CallBack)
    cv2.createTrackbar('vmin', 'v_binary', 12, 179, HSV_CallBack)
    cv2.createTrackbar('vmax', 'v_binary', 37, 179, HSV_CallBack)
    HSV_CallBack()
if __name__ == '__main__':
    global img
    img = cv2.imread('Resource/test.jpg')
    cv2.imshow('img', img)
    # 顯示h、s、v
    Show_HSV() 
    cv2.waitKey(0)

參考資料

短動(dòng)畫慢語(yǔ)速1分鐘講清影視調(diào)色中色彩形成原理基礎(chǔ)——RGB與HSV_嗶哩嗶哩_bilibili

​​​Python編程中*args與**kwargs區(qū)別作用詳解

createTrackbar使用方法及步驟

以上就是OpenCV基礎(chǔ)HSV顏色空間*args與**args滑動(dòng)條傳參問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于HSV顏色空間*args與**args滑動(dòng)條傳參的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 操作SQLite數(shù)據(jù)庫(kù)的示例

    Python 操作SQLite數(shù)據(jù)庫(kù)的示例

    這篇文章主要介紹了Python 操作SQLite數(shù)據(jù)庫(kù)的示例,幫助大家更好的利用python操作數(shù)據(jù)庫(kù)處理數(shù)據(jù),感興趣的朋友可以了解下
    2020-10-10
  • Python pip安裝第三方庫(kù)的攻略分享

    Python pip安裝第三方庫(kù)的攻略分享

    pip 就是 Python 標(biāo)準(zhǔn)庫(kù)(The Python Standard Library)中的一個(gè)包,只是這個(gè)包比較特殊,用它可以來(lái)管理 Python 標(biāo)準(zhǔn)庫(kù)(The Python Standard Library)中其他的包。本文為大家介紹了pip安裝第三方庫(kù)的方法,需要的可以參考一下
    2022-11-11
  • Python正則表達(dá)式高級(jí)使用方法匯總

    Python正則表達(dá)式高級(jí)使用方法匯總

    這篇文章主要介紹了Python正則表達(dá)式高級(jí)使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Jupyter的工作目錄(根目錄)位置介紹

    Jupyter的工作目錄(根目錄)位置介紹

    這篇文章主要介紹了Jupyter的工作目錄(根目錄)位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Sanic框架基于類的視圖用法示例

    Sanic框架基于類的視圖用法示例

    這篇文章主要介紹了Sanic框架基于類的視圖用法,結(jié)合實(shí)例形式分析了Sanic框架基于類的視圖定義、使用及相關(guān)路由操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • 對(duì)python 匹配字符串開頭和結(jié)尾的方法詳解

    對(duì)python 匹配字符串開頭和結(jié)尾的方法詳解

    今天小編就為大家分享一篇對(duì)python 匹配字符串開頭和結(jié)尾的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python爬蟲框架scrapy實(shí)現(xiàn)模擬登錄操作示例

    python爬蟲框架scrapy實(shí)現(xiàn)模擬登錄操作示例

    這篇文章主要介紹了python爬蟲框架scrapy實(shí)現(xiàn)模擬登錄操作,結(jié)合實(shí)例形式分析了scrapy框架實(shí)現(xiàn)模擬登陸操作的步驟、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Python和java?如何相互調(diào)用

    Python和java?如何相互調(diào)用

    這篇文章主要介紹了Python和java?如何相互調(diào)用,下面文章見到那的對(duì)Python和java?相互調(diào)用的方法做了個(gè)小總結(jié),具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • 使用python進(jìn)行PostgreSQL數(shù)據(jù)庫(kù)連接全過(guò)程

    使用python進(jìn)行PostgreSQL數(shù)據(jù)庫(kù)連接全過(guò)程

    這篇文章主要介紹了使用python進(jìn)行PostgreSQL數(shù)據(jù)庫(kù)連接的相關(guān)資料,包括安裝psycopg2模塊、使用PyCharm進(jìn)行圖形化連接、代碼連接數(shù)據(jù)庫(kù)的方法、以及如何執(zhí)行DML和DQL操作,需要的朋友可以參考下
    2025-03-03
  • Python自動(dòng)化測(cè)試中yaml文件讀取操作

    Python自動(dòng)化測(cè)試中yaml文件讀取操作

    這篇文章主要介紹了Python自動(dòng)化測(cè)試中yaml文件讀取操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

龙川县| 寿宁县| 江安县| 漳平市| 霍林郭勒市| 永善县| 得荣县| 大同市| 靖安县| 海城市| 中西区| 彩票| 大港区| 凌源市| 株洲市| 淳化县| 瑞昌市| 肇州县| 大化| 杭州市| 志丹县| 丰台区| 利川市| 龙陵县| 芮城县| 府谷县| 红安县| 庆城县| 福清市| 教育| 灵璧县| 肇东市| 绥化市| 通化市| 荆门市| 芜湖市| 孝义市| 高雄县| 东山县| 峨边| 莎车县|