引言
在觀察OpenCV中某個(gè)函數(shù)在不同參數(shù)的情況下,所得到的效果的時(shí)候,我之前是改一次參數(shù)運(yùn)行一次,這樣做起來操作麻煩,效率低下。為了更便捷的觀察參數(shù)變化時(shí)帶來的處理效果改變 可以使用滑動(dòng)條來改變參數(shù)
具體思路
- 使用cv2.createTrackbar()創(chuàng)建滑動(dòng)條,有幾個(gè)參數(shù)就創(chuàng)建幾個(gè)
- 對(duì)每個(gè)參數(shù)定義回調(diào)函數(shù)
- 在回調(diào)函數(shù)中顯示圖片
注意 滑動(dòng)條的窗口名稱 要與 圖片顯示的窗口名字相同
代碼實(shí)現(xiàn)
import cv2
d = 0
color = 0
space = 0
def change_d(x):
d = x
blur = cv2.bilateralFilter(img,d,color,space)
cv2.imshow("myImg",blur)
def change_color(x):
color = x
blur = cv2.bilateralFilter(img,d,color,space)
cv2.imshow("myImg",blur)
def change_space(x):
space = x
blur = cv2.bilateralFilter(img,d,color,space)
cv2.imshow("myImg",blur)
img = cv2.imread('car2.jpeg')
cv2.namedWindow('myImg')
cv2.createTrackbar('d','myImg',1,500,change_d)
cv2.createTrackbar('color','myImg',1,500,change_color)
cv2.createTrackbar('space','myImg',1,500,change_space)
while(1):
k = cv2.waitKey(1)&0xFF
if k==27:
break
d = cv2.getTrackbarPos('d','myImg')
color = cv2.getTrackbarPos('color','myImg')
space = cv2.getTrackbarPos('space','myImg')
cv2.destroyAllWindows()
效果展示
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

