fImg = img.astype(np.float32)
fImg = fImg / 255.0
# HLS空间,三个通道分别是: Hue色相、lightness明度、saturation饱和度
# 通道0是色相、通道1是明度、通道2是饱和度
hlsImg = cv2.cvtColor(fImg, cv2.COLOR_BGR2HLS)
"""HSL--明亮度和饱和度"""
函数 cv2.getTrackbarPos():
功能:得到滑动条的数值
参数:1.滑动条名字 2.窗口名
lnum = cv2.getTrackbarPos('lightness', wname)
snum = cv2.getTrackbarPos('saturation', wname)
cnum = cv2.getTrackbarPos('contrast', wname)
# 1.调整亮度饱和度(线性变换)、 2.将hlsCopy[:,:,1]和hlsCopy[:,:,2]中大于1的全部截取
hlsImg[:, :, 1] = (1.0 + lnum / float(MAX_VALUE)) * hlsImg[:, :, 1]
hlsImg[:, :, 1][hlsImg[:, :, 1] > 1] = 1
# HLS空间通道2是饱和度,对饱和度进行线性变换,且最大值在255以内,这一归一化了,所以应在1以内
hlsImg[:, :, 2] = (1.0 + snum / float(MAX_VALUE)) * hlsImg[:, :, 2]
hlsImg[:, :, 2][hlsImg[:, :, 2] > 1] = 1
# HLS2BGR
lsImg = cv2.cvtColor(hlsImg, cv2.COLOR_HLS2BGR)
"""BGR--对比度"""
h, w, ch = lsImg.shape # 获取shape的数值,height和width、通道
# 新建全零图片数组img2,将height和width,类型设置为原图片的通道类型(色素全为零,输出为全黑图片)
img2 = np.zeros([h, w, ch], lsImg.dtype)
dst = cv2.addWeighted(lsImg, cnum, img2, 1 - cnum, 0) # addWeighted函数说明如下
# 显示调整后的效果
cv2.imshow(wname, imutils.resize(dst, 400))
wname = 'simple_edit'
img = cv2.imread('hh.jpg')
if __name__ == '__main__':
MAX_VALUE = 100
cv2.namedWindow(wname, cv2.WINDOW_AUTOSIZE)
# 第一个数为默认值,第二个数为最大范围
cv2.createTrackbar("lightness", wname, 0, MAX_VALUE, l_s_b)
cv2.createTrackbar("saturation", wname, 0, MAX_VALUE, l_s_b)
cv2.createTrackbar('contrast', wname, 1, 10, l_s_b)
l_s_b(0)
if cv2.waitKey(0) == 27:
cv2.destroyAllWindows()
代码:import cv2import imutilsimport numpy as npdef l_s_b(arg): # 图像归一化,且转换为浮点型, 颜色空间转换 BGR转为HLS # astype用于转换数组的数据类型 fImg = img.astype(np.float32) fImg = fImg / 255.0 # HLS空间,三个通道分别是: Hue色相、lightness明度、saturation饱和度 # 通道0是色相、通道
f(row, col):原始
图像
的像素。
g(row, col):调整后
图像
的像素。
a(a>0:称为增益(gain),常常被用来控制
图像
的
对比度
,其取值范围一般为0.0-3.0
b:称为偏置(bias),常常被用来控制
图像
的亮度。
g(row, col) = a*f(row, col) + b:随原始
图像
进行
对比度
亮度调节的公式。
new_img....
对于数字
图像
变换,设原像素的RGB值为 f(i,j,k),转化后的像素灰度为 g(i,j,k),则常用的线性变换是 g(i,j,k)= af(i,j,k) + b, 其中系数 a 影响
图像
的
对比度
,系数 b 影响
图像
的亮度,具体如下:
(1) a=1时是原图;
(2) a>1时
对比度
增强,
图像
看起来更加清晰;
(3) a<1时
对比度
减弱,
图像
看起来变模糊;
(4) b影响
图像
的...
def threshold_demo(image):
gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) #把输入
图像
灰度化
#直接阈值化是对输入的单通道矩阵逐像素进行阈值分割。
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_TRIA
import matplotlib.pyplot as plt
rgb = Image.open("path")
rgb_transform = transforms.Compose([
transforms.ColorJitter(
色彩平衡是通过对颜色的调整使
图像
达到颜色平衡,可以用于调节颜色缺陷或表现效果。
本节用
OpenCV
程序,
实现
调节色彩平衡的功能。该例程也用于说明应用 LUT 对彩色
图像
进行颜色替换时构造多通道查找表的方法。
将
图像
从 RGB 色彩空间转换到 HSV 色彩空间后,用 LUT 对特定通道进行
对比度
拉伸,就可以调节
图像
的
饱和度
、明度。
......
文章目录HSV颜色空间简介
图像
提取的例子1.识别按钮的
简单
例子2.水果分类
HSV颜色空间简介
HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。
这个模型中颜色的参数分别是:色调(H),
饱和度
(S),明度(V)。
色调可以表示颜色的种类,它是一个角度,范围是0-180°,0对应red,60对应green,120对应blue。
饱和度
表示该颜色接近光谱色的程度,范围是0-255,
像素点提取是一种
图像
处理技术,可以将
图像
转换为二进制形式,从而对
图像
进行分析、处理和比较。对于前后对比出精度的需求,可以使用以下方法:
1.
图像
对比工具:使用
图像
对比工具可以将两个
图像
进行比较,从而找出它们之间的差异。这些工具通常会在两个
图像
之间绘制出一个差异图,以便用户更清晰地了解它们之间的差异。
2. 像素点分析软件:使用像素点分析软件可以帮助用户检测
图像
中的像素点,并在不同的
图像
之间进行比较。这些软件通常会提供基于像素点颜色、亮度和
饱和度
等特征的比较功能,以便用户快速找到两个
图像
之间的差异。
3.
图像
处理算法:使用
图像
处理算法可以帮助用户对
图像
进行前后对比,并提取出精度。这些算法通常会使用像素点颜色和亮度等特征来比较
图像
,以便找到它们之间的差异。然后,用户可以根据差异图进行前后对比,并确定精度的大小。