查看: 2759|回复: 2

[大赛作品提交] 【制作中】操作一下BGR↔HSV

[复制链接]
  • TA的每日心情
    开心
    2019-5-31 10:27
  • 签到天数: 98 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2017-12-21 23:37:55 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 ky123 于 2018-1-31 14:13 编辑

        大家好,我又来了,吔,记性不好,忘记拿东西了!你们先留在此地不要走动,我回去给你们拿几个橘子。
        今天趁搬砖的时候工头不注意,偷偷又学了会儿openCV的基础知识,发现我在操作图像之前,是需要先做一下颜色空间变换的,所以今天的任务就是这个。照例感谢易络盟,感谢爱板网,感谢管理大大。

        在计算机视觉的领域,应用HSV/HIS颜色模型,相较于RGB与CMYK模型更加符合人眼对颜色的感觉。当采用基础颜色空间RGB模型颜色模型时,除了不均匀与空间不正交这些不足以外,也就是说,直观性差也是一主要的缺陷。比如你无法从给定的3个R、G、B值来感知颜色。而采用HSV颜色模型时H坐标就表示色调,判断一种颜色只需要根据他的H坐标而不用去计算3刺激值。
        一般保存在计算机中的图像都是以RGB颜色模型来定义颜色的,因此在图像处理之前需要进行颜色空间的转换。 在openCV中,BGR↔HSV是相当简单的,只需要调用一个库中的一个函数即可完成转换。
        我们用到的函数是cv2.cvtColor(input_imageflag),其中flag就是转换类型。对于BGR↔HSV的转换我们用的flag就是cv2.COLOR_BGR2HSV。下图就是BGR↔HSV的图像对比。

    IMG_20171221_230635.jpg

       OK,BGR 换到 HSV 完成了,下来我们利用 一点来提取带有某个特定色的物体。在 HSV 颜色空间中要比在 BGR 空间中更容易表示一个特定颜色。在 OpenCV 的 HSV 格式中,H的取值范围是 [0,179], S的取值范围 [0,255],V的取值范围 [0,255]。比如说,我们现在要提取保留“999绿色块”的图像,滤掉其他背景,按照下面的步骤来即可:
    • 从视频中获取每一帧图像
    • 将图像换到 HSV 空间
    • 设置 HSV 阀值到“999绿色块”范围。
    • 获取“999绿色块”
    ------------------------------------------------------------------
    #-*-coding:utf-8-*-
    import cv2.cv
    #import cv2.cv as cv
    import numpy as np

    # get video from USB camera
    cap = cv2.VideoCapture(0)

    #Set the size of video as 640*480
    cap.set(3,640)
    cap.set(4,480)

    cv2.namedWindow('HSV')
    cv2.namedWindow('camrea')

    while(1):
        ret, frame = cap.read()
        #converting to HSV
        hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)

        lower_green = np.array([50,100,100])
        upper_green = np.array([160,255,255])

        mask = cv2.inRange(hsv,lower_green,upper_green)
        hsv = cv2.bitwise_and(frame,frame,mask=mask)

        cv2.imshow('HSV',hsv)   
        cv2.imshow('camrea',frame)
        #Hold the video windos
        cv2.waitKey(1)
       
    cap.release()
    cv2.destroyAllWindows()
    ------------------------------------------------------------------
          一波操作过后,世界就只剩绿色了(左边图像),非绿的都变成了黑色的背景(光线不好,手电筒补光)。绿色好啊,环保健康,憨厚老实,积极向上,朝气蓬勃,原谅你了。
    IMG_20171221_232101.jpg


    回复

    使用道具 举报

    该用户从未签到

    发表于 2017-12-23 16:23:55 | 显示全部楼层
    哥们儿昵称不错
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-25 10:52:23 | 显示全部楼层
    橘子呢?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 04:45 , Processed in 0.150714 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.