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

OpenCV基礎HSV顏色空間*args與**kwargs滑動條傳參問題

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

一、基礎理論

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

Hue:色相(具體的顏色)

Saturation:飽和度、色彩純凈度

Value:明度

1、Hue(色相)

Hue:色相(具體的顏色)

2、Value(明度)

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

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

3、Saturation(飽和度)

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

(一般調高飽和度會降低RGB中相對較低的數值,凸顯主要顏色的純度。 )

B站視頻講解:

短動畫慢語速1分鐘講清影視調色中色彩形成原理基礎——RGB與HSV

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

三、*args && **kwargs

*args:傳入參數未知,且不需要知道參數名稱。

**args:傳入參數未知,但需要知道參數名稱。

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

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

API

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

形式參數一trackbarname:滑動空間的名稱;

形式參數二winname:滑動空間用于依附的圖像窗口的名稱;

形式參數三value:初始化閾值;

形式參數四count:滑動控件的刻度范圍;

形式參數五TrackbarCallback:是回調函數,其定義如下

typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);
# 3、創(chuàng)建h、s、v滾動條
    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、回調函數 -- 閾值設置

API

inRange()

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

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

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

參數2:包含下邊界的數組或標量。

參數3:包含上邊界數組或標量。

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

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

# 1、獲取滑動條反饋值
    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、設置閾值(inRange:在閾值(min,max)之內,設置為白色;在閾值之外,設置為黑色)
    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、回調函數 -- 感興趣值

API

bitwise_and()

圖像的與運算主要用于獲取某個圖像中感興趣的部分,是針對兩個圖像矩陣數組或一個數組與標量的按位與。

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

總代碼

# HSV顏色空間與滑動條(*args && **args)
import cv2
import numpy as np
# 回調函數
# *args:傳入參數未知,且不需要知道參數名稱
# **args:傳入參數未知,但需要知道參數名稱
def HSV_CallBack(*args):
    # 1、獲取滑動條反饋值
    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、設置閾值(inRange:在閾值(min,max)之內,設置為白色;在閾值之外,設置為黑色)
    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、獲取感興趣二值(與運算)
    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滾動條
    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)

參考資料

短動畫慢語速1分鐘講清影視調色中色彩形成原理基礎——RGB與HSV_嗶哩嗶哩_bilibili

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

createTrackbar使用方法及步驟

以上就是OpenCV基礎HSV顏色空間*args與**args滑動條傳參問題的詳細內容,更多關于HSV顏色空間*args與**args滑動條傳參的資料請關注腳本之家其它相關文章!

相關文章

  • Python 操作SQLite數據庫的示例

    Python 操作SQLite數據庫的示例

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

    Python pip安裝第三方庫的攻略分享

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

    Python正則表達式高級使用方法匯總

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

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

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

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

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

    對python 匹配字符串開頭和結尾的方法詳解

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

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

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

    Python和java?如何相互調用

    這篇文章主要介紹了Python和java?如何相互調用,下面文章見到那的對Python和java?相互調用的方法做了個小總結,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助
    2021-12-12
  • 使用python進行PostgreSQL數據庫連接全過程

    使用python進行PostgreSQL數據庫連接全過程

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

    Python自動化測試中yaml文件讀取操作

    這篇文章主要介紹了Python自動化測試中yaml文件讀取操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論

广饶县| 怀仁县| 穆棱市| 肥城市| 绿春县| 潮州市| 神农架林区| 延吉市| 乾安县| 工布江达县| 双峰县| 乡宁县| 上饶县| 鄂伦春自治旗| 清徐县| 巩义市| 习水县| 兴隆县| 保靖县| 安岳县| 隆德县| 无锡市| 云霄县| 衡阳县| 沐川县| 蒲城县| 容城县| 成安县| 东安县| 海丰县| 连南| 东平县| 平和县| 磐安县| 吉安市| 宁国市| 辽宁省| 威宁| 上虞市| 阳曲县| 城固县|