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


目录

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

前言

分析

核心代码

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

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

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

示例源码


前言

计算机视觉市场巨大而且持续增长,且这方面没有标准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 cv2img = 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)

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

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

  1. OpenCV这么简单为啥不学——1.10、addWeighted设置图片透明度

    OpenCV这么简单为啥不学--1.10.addWeighted设置图片透明度 目录 OpenCV这么简单为啥不学--1.10.addWeighted设置图片透明度 前言 cv2.addWeighte ...

  2. OpenCV这么简单为啥不学——1.2、图片截取(数组截取)

    OpenCV这么简单为啥不学--1.2.图片截取(数组截取) 目录 OpenCV这么简单为啥不学--1.2.图片截取(数组截取) 前言 图片截取 总结 前言 计算机视觉市场巨大而且持续增长,且这方面没 ...

  3. OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题

    OpenCV这么简单为啥不学--1.5.解决putText中文乱码问题 目录 OpenCV这么简单为啥不学--1.5.解决putText中文乱码问题 前言 putText中文乱码问题 putText中 ...

  4. OpenCV这么简单为啥不学——1.12、使用ssim函数对两张照片进行相似度分析

    OpenCV这么简单为啥不学--1.12.使用ssim函数对两张照片进行相似度分析 目录 OpenCV这么简单为啥不学--1.12.使用ssim函数对两张照片进行相似度分析 前言 ssim函数 图像相 ...

  5. OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)

    OpenCV这么简单为啥不学--1.4.基础标识绘制(绘制线line函数.rectangle函数绘制四边形.circle函数绘制圆形.putText函数绘制文字.putText绘制中文文字) 目录 O ...

  6. OpenCV这么简单为啥不学——1.11、蓝背景证件照替换白色或红色

    OpenCV这么简单为啥不学--1.11.蓝背景证件照替换白色或红色 目录 OpenCV这么简单为啥不学--1.11.蓝背景证件照替换白色或红色 前言 蓝背景证件照替换白色 蓝背景证件照替换红色 总结 ...

  7. python人像和图片比对_python 使用OpenCV进行简单的人像分割与合成

    实现思路 通过背景建模的方法,对源图像中的动态人物前景进行分割,再将目标图像作为背景,进行合成操作,获得一个可用的合成影像. 实现步骤如下. 使用BackgroundSubtractorMOG2进行背 ...

  8. opencv学习—简单车牌识别操作(python)

    opencv学习-简单车牌识别操作(python) 目录 opencv学习-简单车牌识别操作(python) 利用opencv进行车牌识别的详细流程如下: 1.车牌检测 2.分割车牌号并进行识别 3. ...

  9. OpenCV+SVM简单应用-------路面箭头分类

    OpenCV+SVM简单应用-------路面箭头分类 博客分类: openCV C++ 机器学习 openCV,图像处理 问题内容:路面箭头检测与识别(该部分主要介绍基于SVM的分类,也就是识别,检 ...

最新文章

  1. dataframe python格式_python3.6 pandas,Series和DataFrame基础格式与用法,附代码实例
  2. 数字雕刻中“节奏”的作用
  3. java面试题三十一
  4. 常见浏览器兼容性问题及解决方案
  5. python装饰器用法_深入浅出分析Python装饰器用法
  6. 3 个月如何从小白到 Python 高手?清华博士带你入门带你飞!
  7. 特斯拉推出通用钥匙带 官方售价145元
  8. win10定时关机c语言,win10 定时关机命令怎么设置_win10怎么设置定时关机指令-win7之家...
  9. mysql tar 卸载_mysql linux 安装卸载
  10. 正大期货新闻:印度调高了棕榈油以及豆油的进口基础价格
  11. das dsadsa
  12. h264基础知识梳理
  13. 测试用例的思路---矿泉水瓶
  14. Java字符串格式化详解
  15. 蓝牙核心协议学习 -- 基带协议(Baseband)
  16. 遗传算法求解TSP旅行商问题
  17. Windows orb-slam2 单目测试工程
  18. 微信小程序傻瓜制作_不会编程,如何傻瓜式一键制作一个微信小程序?
  19. Pygame飞机大战(四)——创建己方飞机的类,并添加子弹吧
  20. Android opengrok

热门文章

  1. 2014广西大学计算机和信息工程学院调剂,这7所高效公布大量调剂专业信息 有热门专业吗?...
  2. 快速创建软件安装包-ClickOnce
  3. 【生活思考】恋爱与工作
  4. 滑动窗口算法(思想)
  5. 闲鱼公布十大转卖理由:“老婆不让”3 年高居榜首,“老公不让”首进前十
  6. Mac OS上PHP环境配置
  7. mysql停止某个用户的连接_如何查看mysql当前的连接数,如何停止某个连接
  8. 系统学习机器学习之总结(二)--样本不平衡问题处理
  9. 详解RPC框架核心原理
  10. 转:愿景可以简单、平凡,但必须有效、可行