HSV人脸调整+TrackBar使用

#HSV颜色空间
hsv对处理一些颜色在人像方面要好用一些,这是一篇入门的操作使用。对lena.bmp做颜色调整

import os
import numpy as np
import cv2 as cv

# bug:takes 0 positional arguments but 1 was given
# solve:func加上参数
def empty(a):
    pass

接着是图像的读取与一个颜色转换

#########################  颜色检测  ############################
FilePath = 'D:/Game/Pycharm_Prom/Dataset/Images/LenaRGB.bmp'
img = cv.imread(FilePath)
imgGray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)  # Gray
imgHsv = cv.cvtColor(img,cv.COLOR_BGR2HSV)  # Hsv

##这里Trackbar做一个使用笔记
createTrackbar()函数的函数原型为:

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

trackbarname:这个参数用来给这个滚动条取一个名字;

winname:这个参数用来指定你要吧这个滚动条用到那个窗口上;

value:这个参数用来设置滑块初始值位置,同时记录滑块以后的位置;

count:这个参数用来指定滚动条可以滚动的最大值;

onChange:这个参数可以理解为一个函数类型的变量(当然这样说感觉有点怪),用来接收回调函数函数名的,默认值为0;

userdata:这个变量这个参数是用户传给回调函数的数据,用来处理轨迹条事件,默认值为0。

这里面一共有6个参数,其中value这个参数容易理解有偏差,onchange,userdata这俩参数可能难以理解;

# 创建轨迹栏TrackBars
cv.namedWindow("TrackBars")
cv.resizeWindow("TrackBars",640,240)  # shape

然后增加Hue Saturation Value条

cv.createTrackbar("Hue Min","TrackBars",0,179,empty)   #设hsv色彩空间色调[0:180]
cv.createTrackbar("Hue Max","TrackBars",19,179,empty)
cv.createTrackbar("Sat Min","TrackBars",110,255,empty)  #Saturation
cv.createTrackbar("Sat Max","TrackBars",240,255,empty)
cv.createTrackbar("Val Min","TrackBars",153,255,empty)  #Value
cv.createTrackbar("Val Max","TrackBars",255,255,empty)

可以对图像做一个拼接显示

    imgStack = stackImages(0.6,([img,imgHsv],[mask,imgResult]))
    cv.imshow("StackImage", imgStack)
    cv.waitKey(0)

这里是结果截图
trackbar没有显示在图片上,可以在winnam参数那里改成图像的窗口
资料参考:
https://github.com/murtazahassan/Learn-OpenCV-in-3-hours/
视频讲解:
3h精通Opencv-Python(BV16K411W7x9)
最后感谢一下 导 的辛苦上传和转载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深秋青花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值