Opencv-python 色相饱和度(HLS)
Opencv-python 色相饱和度(HLS)
import cv2 as cv
import numpy as np# 全局变量
g_hls_h = [] # 图片分量 hls
g_hls_l = []
g_hls_s = []
# 滑动设置值
g_diff_h, g_diff_l, g_diff_s = 0, 0, 0# 修改图片各分量 组合成新图片
def change_hls():global g_hls_h, g_hls_l, g_hls_s, g_diff_h, g_diff_l, g_diff_s# h分量hls_hf = g_hls_h.astype(np.float)hls_hf += g_diff_hhls_hf[hls_hf > 180] -= 180 # 超过180hls_hf[hls_hf < 0] += 180 # 小于0new_hls_h = hls_hf.astype("uint8")# l分量hls_lf = g_hls_l.astype(np.float)hls_lf += g_diff_lhls_lf[hls_lf < 0] = 0hls_lf[hls_lf > 255] = 255new_hls_l = hls_lf.astype("uint8")# s分量hls_ls = g_hls_s.astype(np.float)hls_ls += g_diff_shls_ls[hls_ls < 0] = 0hls_ls[hls_ls > 255] = 255new_hls_s = hls_ls.astype("uint8")# 重新组合新图片 并转换成BGR图片new_bgr = cv.cvtColor(cv.merge([new_hls_h, new_hls_l, new_hls_s]), cv.COLOR_HLS2BGR)cv.imshow("image", new_bgr)# h分量 值修改
def on_value_h(a):global g_diff_hvalue = cv.getTrackbarPos("value_h", "image")value = (value - 180)g_diff_h = valuechange_hls()# l分量 值修改
def on_value_l(a):global g_diff_lvalue = cv.getTrackbarPos("value_l", "image") * 2value -= 255g_diff_l = valuechange_hls()# s分量 值修改
def on_value_s(a):global g_diff_svalue = cv.getTrackbarPos("value_s", "image") * 2value -= 255g_diff_s = valuechange_hls()def main():global g_hls_h, g_hls_l, g_hls_s# 加载图片img_org = cv.imread("./img01.jpg")# hls分量拆分hls = cv.cvtColor(img_org, cv.COLOR_BGR2HLS)g_hls_h = hls[:, :, 0]g_hls_l = hls[:, :, 1]g_hls_s = hls[:, :, 2]print(img_org.shape)# 滑动条创建、设置初始值cv.namedWindow("image")cv.createTrackbar("value_h", "image", 0, 360, on_value_h)cv.createTrackbar("value_l", "image", 0, 255, on_value_l)cv.createTrackbar("value_s", "image", 0, 255, on_value_s)cv.setTrackbarPos("value_h", "image", 180)cv.setTrackbarPos("value_l", "image", 127)cv.setTrackbarPos("value_s", "image", 127)# 退出while True:key = cv.waitKey(50) & 0xFFif key == 27: # 退出breakcv.destroyAllWindows()if __name__ == '__main__':main()
Opencv-python 色相饱和度(HLS)相关推荐
- 用OpenCV实现Photoshop算法(七): 调整色相饱和度
系列文章: 用OpenCV实现Photoshop算法(一): 图像旋转 用OpenCV实现Photoshop算法(二): 图像剪切 用OpenCV实现Photoshop算法(三): 曲线调整 用Ope ...
- opencv python 从摄像头获取视频、帧率、分辨率等属性设置和使用
opencv python 从摄像头获取视频.帧率.分辨率等属性设置和使用 文章目录: 1,为了获取视频,你应该创建一个 VideoCapture 对象.他的参数可以是设备的索引号,或者是一个视频文件 ...
- OpenCV+Python 彩色图片的 BGR、灰度图、HSV分量图显示的程序
OpenCV+Python 彩色图片的 BGR.灰度图.HSV分量图显示的程序 介绍 OpenCV+Python 使用openCV中的split()函数和 cvtColor()函数提取一张彩色图片的B ...
- OpenCV+python:Canny边缘检测算法
1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...
- OpenCV Python在计算机视觉中的应用
OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...
- OpenCV Python教程(2、图像元素的访问、通道分离与合并)
OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...
- python中import cv2遇到的错误及安装方法_独家利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码amp;解析)...
作者:Jose Garcia 翻译:吴振东 校对:张一豪 本文约4000字,建议阅读14分钟. 本文将利用OpenCV,Python和Ubidots来编写一个行人计数器程序,并对代码进行了较为详细的讲 ...
- 如何把OpenCV Python获取的图像传递到C层处理
原文:https://blog.csdn.net/yushulx/article/details/52788051 用OpenCV Python来开发,如果想要用到一些C/C++的图像处理库,就需要创 ...
- openCV—Python(6)—— 图像算数与逻辑运算
openCV-Python(6)-- 图像算数与逻辑运算 一.函数简介 1.add-图像矩阵相加 函数原型:add(src1, src2, dst=None, mask=None, dtype=Non ...
最新文章
- linux 密码文件 /etc/shadow md5,SHA256,SHA512 破解
- java jsp 脚本 声明 表达式 简介
- Drupal8 社区文档之在Drupal中,查看网页的编辑一个页面的几乎是相同的
- 数据库(四)之数据库表管理
- C语言strchr()函数(字符串中查找子字符)
- 《系统集成项目管理工程师》必背100个知识点-82风险的特性
- 【数据结构与算法】之深入解析“石子游戏III”的求解思路与算法示例
- Condition.signal
- 大归因+小归因,先崛网络帮你还原SEM的真实价值
- 深拷贝、浅拷贝以及引用传递和按值传递的区别与联系
- [JavaWeb-JavaScript]JavaScript_Array数组对象
- java8(2)--- Stream API
- DirectoryInfo类
- 微信小程序云开发教程-互联网软件的运作模式
- 基于matlab的直流调速仿真系统代码,基于Matlab的双闭环直流调速系统仿真研究毕业设计论文...
- JVM(6)之 二次标记
- 【品牌DTC增长力】从AIPL模型看策略趋势
- Python数据分析与实战挖掘
- 英特尔、高通等多家科技巨头禁止员工与华为交流!
- 王者苹果服务器转安卓系统,王者荣耀苹果用户可以转?王者荣耀苹果用户转安卓的方法教程...