图像的对比度、亮度、色彩饱和度调节以及灰度化
对比度的调节:
将图像转化到HSV格式下,先选出所有亮度的中值。当要增加对比度的时候,则降低亮度值比中值小的值,增加亮度值比中值更大的值;当要减少对比度的时候,则增加亮度值比中值小的值,降低亮度值比中值更大的值,使所有亮度值向中值靠近。
根据公式(x-avg_R(G/B)*a + x (a 为-1到1 之间,x 是原像素值)计算
亮度的调节:
介绍
将图像转化为HLS格式,通过调整图像中L通道的值来改变图片的亮度
直接在RGB色彩空间下给每个像素都加上或减去一个固定值。
代码
import numpy as np
import cv2 as cv
from PIL import Image
import copy# change 为改变的数值
def changeL_func(img,changeL):# cv.imshow("yuan1", img)changeLight = cv.cvtColor(img, cv.COLOR_RGB2HLS)for i in range(0, changeLight.shape[0]):for j in range(0, changeLight.shape[1]):re = changeLight[i, j, 1] + changeLif (re + changeL > 255):changeLight[i, j, 1] = 255elif (re + changeL < 0):changeLight[i, j, 1] = 0else:changeLight[i, j, 1] = reimg = cv.cvtColor(changeLight, cv.COLOR_HLS2RGB)# cv.imshow("yuan", img)return imgdef main():image = cv.imread(r"E:/tu/13.png")changeL_img = changeL_func(copy.copy(image), 20) cv.imshow("change_light ",changeL_img) cv.imshow("yuantu",image)cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":main()
色彩饱和度调节:
介绍
将图像转化到HSV格式下,通过调整图像中的S值来改变图片色彩的饱和度。
代码
import numpy as np
import cv2 as cv
from PIL import Image
import copy# changeS 为改变的数值
def changeS_func(img,changeS):# cv.imshow("yuan0", img)changeSaturation = cv.cvtColor(img, cv.COLOR_RGB2HSV)for i in range(0, changeSaturation.shape[0]):for j in range(0, changeSaturation.shape[1]):re = changeSaturation[i, j, 1] + changeSif ( re > 255):changeSaturation[i, j, 1] = 255elif (re < 0):changeSaturation[i, j, 1] = 0else:changeSaturation[i, j, 1] = reimg = cv.cvtColor(changeSaturation, cv.COLOR_HSV2RGB)# cv.imshow("yuan2", img)return imgdef main():image = cv.imread(r"E:/tu/13.png")changeS_img = changeS_func(copy.copy(image), 20)cv.imshow("change_Saturation",changeS_img) cv.imshow("yuantu",image)cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":main()
灰度化:
当图像的RGB值相同时,该图像即会变为灰度图像,其中R=G=B的值叫做灰度值。灰度值有多种选择方式,如,选取RGB任一通道值作为灰度值,选取RGB中的最大值作为灰度值,选取RGB中的中值作为灰度值,选取RGB中的最小值作为灰度值等。
import cv2 as cv
import math
import numpy as npdef rgb2gray(img):h=img.shape[0]w=img.shape[1]img1=np.zeros((h,w),np.uint8)for i in range(h):for j in range(w):img1[i, j] = np.max(img[i, j])#取最大值,若取最小值则为np.min()return img1image= cv.imread(r"1.jpg")
grayimage=rgb2gray(image)cv.imshow("image",grayimage)
cv.waitKey(0)
cv.destroyAllWindows()
图像的对比度、亮度、色彩饱和度调节以及灰度化相关推荐
- 【图像处理】——图像的灰度化处理(Python实现三种方法——最大值法、平均值法、加权均值法、gamma校正)
目录 一.什么是图像的灰度化? 二.灰度化的几种方法(最大值法.平均值法.加权均值法.gamma校正) 1.直接调用函数:cv2.cvtColor() 图像颜色空间转换 2.最大值法 (1)概念 (2 ...
- opencv图像对比度亮度调节
图像对比度亮度调节 #include <opencv2/highgui.hpp> #include <iostream>using namespace std; using n ...
- opencv学习系列——图像对比度亮度调节
实验2.1:对比度调整 设计一个Sigmoid函数,实现对图像的对比度调整(使用opencv窗口系统的slider控件,交互改变Sigmoid函数的参数,实现不同程度的对比度调整:) (1)线性函数调 ...
- matlab 二值化图像反色,图像处理——灰度化、二值化、反色、饱和度、对比度...
RGB RGB色彩模式使用RGB模型为图像中每个像素的RGB分量分配一个0~255范围内的强度值.RGB图像仅仅使用三种颜色,R(red).G(green).B(blue),就能够使它们依照不同的比例 ...
- OpenCV学习笔记之改变图像的对比度和亮度
一.图像对比度和亮度 图像对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小.差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就 ...
- 独家|OpenCV 1.6 改变图像的对比度和亮度!
翻译:陈之炎 校对:吴金迪本文约2500字,建议阅读5分钟本文为大家介绍了OpenCV改变图像的对比度和亮度. 目标 在本教程中, 你将学习到以下内容: 访问像素值; 用零初始化矩阵; 学习CV :: ...
- 基于OpenCV调整图像的对比度和亮度
亮度和对比度的调整原理 公式原理: new_image = a*image + beta 即 g(x)=αf(x)+β 其中,α>0 , β 通常被称为 gain 或者 bias 参数,通常这两 ...
- OpenCV学习:改变图像的对比度和亮度
本实例演示简单地改变图像的对比度和亮度,使用了如下线性变换来实现像素值的遍历操作: The parameters α > 0 and β often called the gain and bi ...
- OpenCV改变图像的对比度和亮度
OpenCV改变图像的对比度和亮度 改变图像的对比度和亮度 目标 理论 图像处理 像素变换 亮度和对比度调整 代码 解释 结果 改变图像的对比度和亮度 目标 在本教程中,您将学习如何: 访问像素值 用 ...
最新文章
- linux下mysql定时备份数据库
- buuctf rar1
- 2020年全国压岁钱榜单出炉,今年小朋友压岁钱归谁?
- Linux中chmod用法
- Flash:动画实例--flash文字变形
- CAD(2007)学习笔记
- python 金融发欺诈_python金融反欺诈-项目实战
- css 打造3D导航
- 重磅成果丨ASAM SOVD 1.0.0正式发布
- 报道 | 香港科技大学三十周年校庆红鸟之夜庆祝晚宴圆满落幕
- 盘点五大好用的固定资产管理系统
- 使用ExcelPackage生成Excel2007电子表格
- 网络原理IP协议/以太网
- C++解决报错常量中有换行符
- Java导出word 图片重复
- CIA-SSD: Confident IoU-Aware Single-Stage Object Detector From Point Cloud阅读
- Android SQL的使用
- 深入BBN,如何解决长尾数据分布的同时兼顾表示学习
- 从 Next.js 看企业级框架的 SSR 支持
- 关于制定《传统蒙古文信息交换与处理字形字符标准编码》
热门文章
- 解决微星主板点击睡眠后电脑死机
- 用于食品标签的光学字符识别(OCR)视觉系统
- 用户体验设计师(UE)职务描述。
- 【华为OD机试 2023最新 】 网上商城优惠活动(C++)
- java设置pdf不可编辑_禁止编辑,但允许在Java iText / PDF中进行页面提取
- 免费好用的APP你值得一试
- snopt matlab,studentSnopt matlab 学生版,求解大规模非线性规划问题 238万源代码下载- www.pudn.com...
- 谈谈我的技术专家之路
- Redis篇 <一>Docker安装redis 及基础
- 目前最火的人工神经网络,神经网络软件有哪些