Android OpenCV之算数操作与调整图像的亮度和对比度

OpenCV算数API介绍

Mat 对象之间的加、减、乘、除最常用的方法如下:

add(Mat src1, Mat src2, Mat dst)
subtract(Mat src1, Mat src2, Mat dst)
multiply(Mat src1, Mat src2, Mat dst)
divide(Mat src1, Mat src2, Mat dst)

其中 src1 表示输入的第一个 Mat 对象,src2 表示输入的第二个 Mat 对象, dst 表示算数输出的 Mat 对象。此时 src1src2 大小和类型必须一致。

当然, src2 也可以是 Scalar 类型,这个时候表示图像的每个像素点都与 Scalar 中每个向量完成指定的算数运算。

add(Mat src1, Scalar src2, Mat dst)
subtract(Mat src1, Scalar src2, Mat dst)
multiply(Mat src1, Scalar src2, Mat dst)
divide(Mat src1, Scalar src2, Mat dst)

调整图像的亮度和对比度

图像的亮度对比度是图像的两个基本属性,对RGB色彩图像来说,亮度越高,像素点对应的RGB应该越大,越接近255,反之亮度越低,像素点对应的RGB应该越小,越接近0。

图像的对比度主要是用来描述图像颜色颜色与亮度之间的差异感知,对比度越大,图像的每个像素与周围的差异性也就越大,反之亦然。

调整图像的亮度和对比度属于像素点操作,一般用下列公式表示

A′(i,j)=αA(i,j)+βA^{'}(i,j)=\alpha A(i,j)+\betaA′(i,j)=αA(i,j)+β

其中α\alphaα为增益放大倍数,用来调整对比度,β\betaβ属于偏值,用来控制图像的亮度。

下列为代码实现,其中图像亮度是基于add操作实现的,对比度是基于multiply操作实现的。

import org.opencv.core.Core
import org.opencv.core.Mat
import org.opencv.core.Scalar/*** 改变图像亮度** @param srcMat Mat数据源* @param luminanceParams 亮度参数,小于0降低亮度,大于0增加亮度* @return 调整对比度后的图像*/
fun changeMatLuminance(srcMat:Mat,luminanceParams: Double):Mat{val res = Mat()Core.add(srcMat, Scalar(luminanceParams,luminanceParams,luminanceParams),res)return res
}/*** 改变图像对比度** @param srcMat Mat数据源* @param contrastParams 对比度参数,小于1降低对比度,大于1增加对比度* @return 调整对比度后的图像*/
fun changeMatContrast(srcMat:Mat,@FloatRange(from = 0.0, to = 3.0) contrastParams: Double):Mat{val res = Mat()Core.multiply(srcMat, Scalar(contrastParams,contrastParams,contrastParams),res)return res
}

Android OpenCV之算数操作与调整图像的亮度和对比度相关推荐

  1. 【opencv4.3.0教程】13之调整图像的亮度与对比度

    目录 前言 一.亮度与对比度 1.什么是亮度和对比度 2.亮度和对比度调整原理 3.亮度和对比度调整代码实现 4.API-convertScaleAbs 二.伽马校正 1.伽马校正引入 2.伽马校正原 ...

  2. 【OpenCV学习】【7】图像的亮度和对比度操作

    如果我们需要增加图像的亮度或者减少图像的亮度,可以首先先创建一个和原图像一样大小的空白图像,然后进行加减操作即可增加或减小亮度! import cv2 import numpy as npimage ...

  3. 调整图像的亮度和对比度

    简单原理: 为输出图像,为输入图像.其中用于调节对比度,增益用于调节亮度 实现代码: #include<opencv2/opencv.hpp> #include<iostream&g ...

  4. (9)调整图像的亮度和对比度

    下面是效果展示图: 下面是代码展示: 1 #include<iostream> 2 #include<opencv.hpp> 3 4 using namespace std; ...

  5. 如何在电脑上调整图像的亮度与对比度?多张图片怎么调整?

    喜欢摄影的小伙伴都知道,一张照片的展示与摄影师的拍照技术有很大关系.如果拍出来的照片太亮或者太暗,色差大都是不合格的.平时一张生活照可以用手机自带调整功能进行处理了.如果需要对多张图片调整亮度对比度, ...

  6. Opencv图像的亮度和对比度调整

    文章目录 前言 一.图像亮度和对比度的基本概念: 1.图像亮度: 2.图像对比度: 二.RGB三通道色彩空间的图像变换: 1.线性变换公式如下: 2.操作简介: 3.图像亮度调整: 4.图像对比度调整 ...

  7. OpenCV调整图像的亮度

    OpenCV调整图像的亮度 像素越靠近0图像越按,越靠近255,图像越亮,所以调整图片的亮度也就是调整每个像素点数值的大小. 原图 代码 public class DemoMat {static{Sy ...

  8. python图像处理库ImageEnhance实现图像的亮度、对比度、色度和锐度四种方式增强

    python中PIL模块中有一个叫做ImageEnhance的类,该类专门用于图像的增强处理,可以实现图像的亮度.对比度.色度和锐度四种方式的增强(或减弱)处理. 具体见下面的例子: # -*- co ...

  9. 计算机显示屏对比度怎么调整,显示器的亮度和对比度多少合适?显示器亮度对比度调多少眼睛舒服?...

    液晶显示器是是台式电脑必不可少的显示设备,我们在玩游戏.办公的时候必须要面对显示器,如果显示器没有调整为合适的对比度和亮度,那么会伤害眼睛,对用户的视力会有一定的影响,造成眼疲劳,显示器的亮度和对比度 ...

最新文章

  1. NNVM Compiler,AI框架的开放式编译器
  2. 搜索4--noi6264:走出迷宫
  3. SVN服务器搭建和使用教程
  4. 如何备份和还原 Outlook Express 数据
  5. Solr-4.10.2安装
  6. 《Unit Testing》1.1 -1.2 单元测试的目的
  7. VS2010 快捷键 (空格显示 绿点, Tab 显示箭头)
  8. python 获取当前时间再往前几个月_Python 中的时间和日期操作
  9. 单元测试——Winfrom
  10. 如何在重装SAV10.1/SCS3.1服务器后继续管理原来的客户端
  11. 故障转移集群仲裁盘_MongoDB负载均衡、故障转移及海量数据应对方案
  12. SAPJCO3升级3.1后报错java.lang.UnsatisfiedLinkError: sapjco3.dll解决
  13. python使用什么来体现代码之间的逻辑关系,Python使用缩进来体现代码之间的逻辑关系。...
  14. 介绍-Linux capability机制
  15. 【UEFI基础】PCD
  16. 互联网贷款大数据风控能做到什么程度?
  17. qt撤销与回退_Qt 的撤销回退事件 - osc_1i3ltp99的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. 郭敬明最经典的45句话
  19. sas sql中有类似mysql的格式_[转载][Base SAS] SAS SQL语句函数
  20. ndows 资源管理器,什么是windows资源管理器

热门文章

  1. 【苹果iMessage推】日历推软件安装支持动态点窜任务状况、停息/规复任务,以及停止运转中任务
  2. 水果店利润率高吗,水果店利润
  3. c语言fwrite作用,C语言fread和fwrite的用法详解(以数据块的形式读写文件)
  4. 基于Hexo和Butterfly创建个人技术博客,(3) 创建博客文章及文章模板配置
  5. 定时任务系列(8)-Quartz启动核心原理之集群
  6. 名帖36 邓石如 隶书《作太元传》
  7. Vue实现动态加载页面数据(下拉加载新数据)
  8. 一名电子狗的心得体会
  9. 「数据架构」数据架构的未来
  10. 今天搞点linux的安装和管理程序常用命令,整zeng高,!!!!!(linux的安装和管理程序常用命令)