亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

瀏覽:2日期:2022-08-03 10:25:24

!!!本博客,是對圖像的背景顏色的修改的基礎講解~!!!還包括一個練習——是對背景色修改的一點應用嘗試!!!——始終相信學習多一點探索,腳步會更堅定一些~

愿所有正在努力的人都可以堅持自己的路一直走下去!

實現軌跡(跟蹤)欄功能的函數

函數主要參數講解

cv.createTrackbar()——創建一個軌跡(跟蹤)欄cv.getTrackbarPos()——獲取一個軌跡(跟蹤)欄的值

cv.createTrackbar()參數如下:

參數一:trackbarname——軌跡(跟蹤)欄名稱 參數二:winname——需要掛載軌跡(跟蹤)欄的窗體名 參數三:value——默認值 參數四:count——上限值 參數五:onChange ——軌跡(跟蹤)欄的回調執行函數 (一般僅僅是通過軌跡欄修改值,然后讀取的話,這個參數可以不用管)參數六:userdata ——作為回調傳遞的用戶數據。它可以在不使用全局變量的情況下處理trackbar事件。

cv.getTrackbarPos()參數如下:

參數一:trackbarname——需要讀取的軌跡(跟蹤)欄名稱 參數二:winname——對應的窗體名

代碼實現

我們先創建一個窗體,為軌跡(跟蹤)欄的掛載做準備~照片就默認創建一張黑色圖片

import cv2 as cvimport numpy as npimg = np.zeros((512, 512, 3), np.uint8)cv.namedWindow(’imag’, cv.WINDOW_NORMAL)cv.resizeWindow(’imag’, 510, 510)

接著我們把需要的軌跡(跟蹤)欄添加到這個窗體中(記得必須要創建軌跡(跟蹤)欄回調函數的!!!)回調函數可以為pass空函數——但是必須要有!!!

這次要實現背景色的控制,那么我們設置三個軌跡(跟蹤)欄,每一個軌跡欄對應一個0~255的值——對應BGR中的三色值!!!

def nothing(x): pass# 參數依次為:設置軌跡(跟蹤)欄名字,掛載的窗體, 默認值, 最大值,回調函數cv.createTrackbar(’R’, ’imag’, 0, 255, nothing) # R的值——nothing傳入一個空函數體,不執行任何回調函數cv.createTrackbar(’G’, ’imag’, 0, 255, nothing) # G的值cv.createTrackbar(’B’, ’imag’, 0, 255, nothing) # B的值switch = ’1:ONn0:OFF’cv.createTrackbar(switch, ’imag’, 0, 1, nothing) # 設置一個開關——當為1時,圖片背景可以改變——否則為黑色

顯示主體部分的代碼

while True: cv.imshow(’imag’, img) k = cv.waitKey(1) & 0xFF if k == 27: # ESC退出 break if cv.getTrackbarPos(switch, ’imag’) == 1: # 當swtch軌跡(跟蹤)欄的值為1時,允許改變背景色 img[:] = [cv.getTrackbarPos(’B’, ’imag’), cv.getTrackbarPos(’G’, ’imag’), cv.getTrackbarPos(’R’, ’imag’)] # getTrackbarPos的參數為:讀取值的軌跡(跟蹤)欄名,所在的窗體名 # opencv的顏色為BGR——依次獲取軌跡(跟蹤)欄的值就可以了~ else: # 否則為默認黑色 img[:] = 0 cv.destroyAllWindows()

效果

完整代碼

import cv2 as cvimport numpy as npdef nothing(x): passif __name__ == '__main__': img = np.zeros((512, 512, 3), np.uint8) cv.namedWindow(’imag’, cv.WINDOW_NORMAL) cv.resizeWindow(’imag’, 510, 510) cv.createTrackbar(’R’, ’imag’, 0, 255, nothing) cv.createTrackbar(’G’, ’imag’, 0, 255, nothing) cv.createTrackbar(’B’, ’imag’, 0, 255, nothing) switch = ’1:ONn0:OFF’ cv.createTrackbar(switch, ’imag’, 0, 1, nothing) while True: cv.imshow(’imag’, img) k = cv.waitKey(1) & 0xFF if k == 27: break if cv.getTrackbarPos(switch, ’imag’) == 1: img[:] = [cv.getTrackbarPos(’B’, ’imag’), cv.getTrackbarPos(’G’, ’imag’), cv.getTrackbarPos(’R’, ’imag’)] else: img[:] = 0 cv.destroyAllWindows()

效果

默認打開的樣子~

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

此時調節背景色是不改變的~

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

當打開時,背景色就會發生改變了~

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

小訓

訓練要求

我們通過鼠標繪制一些東西,然后將背景顏色的修改,作為圖片刷新(清空內容)~

代碼結構

鼠標回調函數(包含包的引用)

import cv2 as cvimport numpy as npdrawing = Falseline_size = 2def mouse_function(event, x, y, flags, param): # 鼠標回調函數——執行鼠標左鍵按下后移動繪圖 global drawing, line_size if event == cv.EVENT_LBUTTONDOWN: drawing = True elif event == cv.EVENT_MOUSEMOVE: if drawing is True: cv.circle(img, (x, y), line_size, (0, 125, 255), -1, cv.LINE_AA) elif event == cv.EVENT_LBUTTONUP: drawing = False cv.circle(img, (x, y), line_size, (0, 125, 255), -1, cv.LINE_AA)

軌跡(跟蹤)欄回調函數

# 這里不需要任何操作~所以用pass空函數體即可def nothing(x): pass__main__主體代碼if __name__ == '__main__': img = np.zeros((512, 512, 3), np.uint8) cv.namedWindow(’imag’, cv.WINDOW_NORMAL) cv.resizeWindow(’imag’, 510, 510) cv.setMouseCallback(’imag’, mouse_function) # 實現鼠標回調函數 cv.createTrackbar(’R’, ’imag’, 0, 255, nothing) # 設置R軌跡(跟蹤)欄 cv.createTrackbar(’G’, ’imag’, 0, 255, nothing) cv.createTrackbar(’B’, ’imag’, 0, 255, nothing) switch = ’1:ONn0:OFF’ cv.createTrackbar(switch, ’imag’, 0, 1, nothing) # 設置開關控制軌跡(跟蹤)欄 while True: cv.imshow(’imag’, img) k = cv.waitKey(1) & 0xFF if k == 27: break if cv.getTrackbarPos(switch, ’imag’) == 1: # 為1是,刷新畫面 img[:] = [cv.getTrackbarPos(’B’, ’imag’), cv.getTrackbarPos(’G’, ’imag’), cv.getTrackbarPos(’R’, ’imag’)] cv.setTrackbarPos(switch, ’imag’, 0) # 通過set軌跡(跟蹤)欄位置,實現為1刷新后,及時回到0位置 cv.destroyAllWindows()

效果:(小訓練的代碼連起來就可以直接運行的,這里就不單獨再寫一遍了)先隨意用鼠標寫“開心”兩個字~

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

接著點擊這里(可能需要點一次選中軌跡(跟蹤)欄,再點擊才能執行變化)

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

然后就實現刷新了~

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

我們再寫點其它的——

Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色

到這里小練習也就結束了——既練習了鼠標事件當作畫筆,也實現了軌跡(跟蹤)欄的設置和讀取——當作畫板刷新的功能(●’◡’●)

總結

到此這篇關于Python Opencv 通過軌跡(跟蹤)欄實現更改整張圖像的背景顏色的文章就介紹到這了,更多相關Python Opencv更改圖像的背景顏色內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成人网18免费软件大全 | 国产亚洲精品一区二区久久 | 欧美一级毛级毛片 | 三级黄色在线视频 | 亚洲欧美日韩中文字幕在线一 | 深夜一级毛片 | 一级做α爱过程免费视频 | 中国一级黄色毛片 | 国产视频在线一区 | 一级做a爰片久久毛片免费看 | 91久久线看在观草草青青 | 一本大道香蕉中文日本不卡高清二区 | 亚洲黄色在线观看视频 | 国产成人91青青草原精品 | 国产成人91高清精品免费 | 99久视频 | 国产精品日韩欧美久久综合 | 亚洲国产成人久久一区www | 香蕉性视频 | 久久视频精品线视频在线网站 | 日本成人网址 | 最新国产成人盗摄精品视频 | 国产精品成人久久久久 | 久热在线播放中文字幕 | 欧美精品一区二区三区免费观看 | 中文字幕日韩一区二区 | 中文字幕第13亚洲另类 | 91高清免费国产自产拍2021 | 狠狠色成人综合网图片区 | 夜夜爱夜夜操 | 欧美日韩国产一区 | 国产99re在线观看只有精品 | 亚洲精品人人 | 成年美女黄网站色视频大全免费 | 麻豆精品视频 在线视频 | 亚洲黄色一级大片 | 国产黑人在线 | 中文字幕一区二区三区在线播放 | 久久视频一区 | 国产1024在线永久免费观看 | 黄色片在线观看视频 |