OpenCV这么简单为啥不学——1.13图片冷白皮(美白)处理

简介: OpenCV这么简单为啥不学——1.13图片冷白皮(美白)处理


OpenCV这么简单为啥不学——1.13图片冷白皮(美白)处理


前言

计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:

1、研究代码(慢,不稳定,独立并与其他库不兼容)

2、耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)

3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。

OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。

故而我们选择学习OpenCV,我们来一步步的学习OpenCV。


很多图片光线不是很好,所以我们需要单独去美白一下。

我们先用一张图片来看一下效果:

黑色图片

分析

我们这里分为(r,g,b)来进行分析,它们的色值范围都是255,也就可以理解成(255,255,255),那么我们都知道#ffffff是【白色】,那么越趋近于这个数值也就越接近白色,我们在原来颜色的基础上都加上一定的数值,例如20~50,但是这个值一定要小于255,那么对应每个像素点的颜色就会相对应的增白,接下来我们进行具体测试。

核心代码

就是遍历的过程中每个点都增强一下颜色。

value = 50  # 增强20个单位
for i in range(w):
    for j in range(h):
        (b, g, r) = img[i, j]
        b = min(255, b + value)
        g = min(255, g + value)
        r = min(255, r + value)
        img[i, j] = (b, g, r)

颜色美白前后对比·20个单位

增白强度不足,我们更换成40来试一试。

颜色美白前后对比·40个单位

相对来数白的就很多了,我们再次加大强度试一试。

颜色美白前后对比·80个单位

80个单位,这回就更白了。

示例源码

import cv2
img = cv2.imread("black.png")
# 显示老图片用于对比
cv2.imshow('old', img)
w, h, d = img.shape
value = 80  # 增强20个单位
for i in range(w):
    for j in range(h):
        (b, g, r) = img[i, j]
        b = min(255, b + value)
        g = min(255, g + value)
        r = min(255, r + value)
        img[i, j] = (b, g, r)
# 显示新图片
cv2.imshow('show', img)
cv2.waitKey(0)

我给的示例很直接,希望能直接给予到你帮助。

相关文章
|
4天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
2月前
|
监控 算法 Serverless
OpenCV这么简单为啥不学——1.12、使用ssim函数对两张照片进行相似度分析
OpenCV这么简单为啥不学——1.12、使用ssim函数对两张照片进行相似度分析
42 0
|
2月前
|
人工智能 监控 API
OpenCV这么简单为啥不学——1.11、蓝背景证件照替换白色或红色
OpenCV这么简单为啥不学——1.11、蓝背景证件照替换白色或红色
31 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.10、addWeighted设置图片透明度
OpenCV这么简单为啥不学——1.10、addWeighted设置图片透明度
27 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.9、cvtColor颜色空间转换(全色值效果演示)
OpenCV这么简单为啥不学——1.9、cvtColor颜色空间转换(全色值效果演示)
20 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图
OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图
34 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.7、实现OpenCV自带的七种形态学转换操作
OpenCV这么简单为啥不学——1.7、实现OpenCV自带的七种形态学转换操作
31 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)
OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)
29 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题
OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题
103 0
OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)
OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)
28 0