我们往往需要在图像中抠出指定颜色的区域。在实际工况下这种指定颜色不是简单的纯色,往往难以单一的用R G B的某个范围值去确定。
本文以PhotoShop为基准,在一副彩色图中按照提取指定范围内的HSV色彩空间。
主要流程分为2步: 在PS中确定HSV的各自的范围--->转换值域后使用OpenCV提取颜色区域。
2 在PhotoShop确认H S V 的上下界
使用PS打开某个图像,打开颜色面板,选择HSB滑块显示, 采用吸管工具在你想要提取的区域上摞动,看H S V 的上下界。
H:[0, 360] S:[0, 1.0] V:[0, 1.0]
3 转换值域后使用OpenCV提取颜色区域
* @brief 参照PhotoShop为基准,在一副彩色图中按照提取指定范围内的HSV色彩空间。
* @param inputImg: 输入的原图类型。图像需要为彩色。
* @param h_low: H通道的下限值,原图中H通道小于该值的不被提取。PS值域范围[0~360],但OpenCV中为[0~180]
* @param h_hight: H通道的上
我们往往需要在图像中抠出指定颜色的区域。在实际工况下这种指定颜色不是简单的纯色,往往难以单一的用R G B的某个范围值去确定。本文以PhotoShop为基准,在一副彩色图中按照提取指定范围内的HSV色彩空间。主要流程分为2步: 在PS中确定HSV的各自的范围--->转换值域后使用OpenCV提取颜色区域。......
OpenCV
学习笔记(提取
图像
中
特点
颜色
)
我们经常需要提取
图像
中
某种特殊
颜色
的
区域
,比如黄色或者红色
区域
。如果只是提取特点的
颜色
,那么很简单,直接做
颜色
比较就可以了。如果要选取某个
颜色
范围,这个工作在 RGB 空间
中
就不是那么方便了。这时我们通常会选取 HSV 或类似的
颜色
空间。
关于 HSV 空间的介绍网上有很多,这里就不详细写了。但是可以认为 Hue 表示
颜色
,Saturation 表示
颜色
的饱和度,Brightness 是亮度。选取
颜色
范围时我们通常用 Hue 和 Sat 两个维度。下面是在网上
简述在上一篇博客进行了证件照更换背景
颜色
,纯蓝色,红色,白色之间的替换,有人私信我,可以不可以把背景换成其他图片,而不是单纯的
颜色
填充。这在photoshop里面就是选
中
一个图层然后复制到另外一张图片上去,用代码实现的话和上篇博文换纯色背景思路完全一样,只是在替换
颜色
时候有了新变化。获取目标
区域
(抠图)将目标
区域
和背景分离开。
此方法抠图只适合
颜色
对比比较明显的图片,允许存在少量
颜色
干扰
src– First source array.
lowerb– Inclusive lower boundary array or a scalar.
upperb– Inclusive upper boundary array or a scalar.
dst– Destination array of the same s...
基于基于
颜色
特征多个
图像
提取车辆照片
中
的车牌
区域
,保证算法的通用性和算法效果稳定。需要对车牌的
颜色
和
颜色
空间有所了解。现有知识信息如下:
1、车牌的场景
颜色
为为蓝色、黄色和绿色
2、HSV
颜色
空间的H分量就是描述
颜色
值
3、车牌的
颜色
在车辆照片
中
是较为显著的
最终实现对各种
颜色
车牌的提取
opencv
去除
图片
中
某一
颜色
(python实现)
一 打开图片
打开图片的时候最好
使用
windows自带的“画图”软件查看(在画图软件下通过句柄精灵获得点的RGB值与
opencv
中
获得的是一样的),在“画图”的左下角可以看到
图像
中
某个点的坐标值如(344,123),如果要在
opencv
中
处理该点的话,需要把坐标值反一下即 img[123, 344]才能取得该点
二
使用
句柄精灵等软件获得想要改变的
颜色
的RGB值
需要注意的是
opencv
中
的R与B通道是反着的(后面代码
中
有相应说明)
OpenCV
数字
图像
处理之ROI
区域
的提取
利用mask(掩模)技术提取纯色背景
图像
ROI
区域
中
的人和物,并将提取出来的人或物添加在其他
图像
上。
1、实现原理
先通过cv.cvtColor()函数,将原RGB彩色
图像
转换为hsv色彩空间的
图像
,然后通过cv.inRange()函数获得ROI
区域
的Mask,最后利用cv.bitwise()函数提取得到ROI
区域
。
2、
使用
的函数简述
(1) cv.c...
如果你
使用
的是C++,有些代码可能需要自行变更!
初学
opencv
的阶段,难免是从枯燥地啃文档和记函数开始。逐一而草率地“过”一遍函数用法,对于初学者而言,其实很难起到学习的进步。只有在具体的实例
中
,才能更好地理解函数用法和搭配 的 妙用。
笔者在视觉库cvzone和halcon的启发下,总结了些
opencv
实现的
颜色
和轮廓的提取&筛选方法,能够方便地应用在不同的项目之上。
如果读友是小白,在这里也推荐个B站上的油管搬运教程:
opencv
超实
在AE
中
使用
OpenCV
处理
图像
需要先安装
OpenCV
库。以下是
使用
OpenCV
在AE
中
处理
图像
的步骤:
1. 安装
OpenCV
库:
使用
pip或其他方式安装
OpenCV
库。
2. 在AE
中
导入
OpenCV
库:在AE的脚本
中
,
使用
import cv2导入
OpenCV
库。
3. 加载
图像
文件:
使用
OpenCV
的cv2.imread()函数加载
图像
文件,并将其存储在一个变量
中
。
4. 处理
图像
:
使用
OpenCV
的各种函数来处理
图像
。例如,可以
使用
cv2.cvtColor()将
图像
转换为灰度
图像
,
使用
cv2.threshold()将
图像
二值化,
使用
cv2.resize()调整
图像
大小等。
5. 将处理后的
图像
保存为新文件:
使用
OpenCV
的cv2.imwrite()函数将处理后的
图像
保存为新文件。
以下是一个简单的AE脚本示例,该脚本
使用
OpenCV
将
图像
转换为灰度
图像
并保存为新文件:
import cv2
# 加载
图像
文件
img = cv2.imread('image.jpg')
# 将
图像
转换为灰度
图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 保存处理后的
图像
为新文件
cv2.imwrite('gray_image.jpg', gray_img)
注意,在
使用
OpenCV
处理
图像
时,需要注意
图像
的通道顺序。在
OpenCV
中
,
图像
的通道顺序是BGR,而在AE
中
通道顺序是RGB。因此,在将
图像
从
OpenCV
导入AE或从AE导入
OpenCV
时,需要进行通道顺序转换。