万普插件库

jQuery插件大全与特效教程

89.Python——OpenCV窗体上创建颜色滑动条改变图像颜色

OpenCV是一个功能强大的开源机器视觉库,也提供了完善的Python接口,本文演示如何在窗体上创建颜色滑动条,并实时改变图像颜色。

导入库

import cv2
import os
import numpy as np

读取图像,复制一份源图,创建同样大小的纯颜色图像,并创建一个窗口

imgpath=os.path.join(os.getcwd(),'img',"00441-451.jpg")
img=cv2.imread(imgpath)
src=img.copy()
color=np.zeros(img.shape,np.uint8)
cv2.namedWindow('image')

在窗体上创建滑动条(B,G,R三通道的值(0-255)),并可设置滑动条的初值

#一个空事件
def nothing(x):
    pass
  
# 创建颜色滑动条
cv2.createTrackbar('B','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('R','image',0,255,nothing)
# #设置初始值
# cv2.setTrackbarPos('B','image',0)
# cv2.setTrackbarPos('G','image',0)
# cv2.setTrackbarPos('R','image',0)

滑动颜色条,实时改变图像颜色,这里使用的是与颜色图像相加

while True:
    #获取滑动条的值
    b=cv2.getTrackbarPos('B','image')
    g=cv2.getTrackbarPos('G','image')
    r=cv2.getTrackbarPos('R','image')
    #设置颜色
    color[:]=[b,g,r]
    
    #两图相加
    img=cv2.add(src,color)
    
    #显示图像
    cv2.imshow('image',img)
    if cv2.waitKey(10)==27:
        break
        
cv2.destroyAllWindows()

运行效果:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言