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. 图像 处理算法:使用 图像 处理算法可以帮助用户对 图像 进行前后对比,并提取出精度。这些算法通常会使用像素点颜色和亮度等特征来比较 图像 ,以便找到它们之间的差异。然后,用户可以根据差异图进行前后对比,并确定精度的大小。