点运算

作者: wwda | 来源:发表于2019-10-01 18:41 被阅读0次

公式:

G(X)=a*raw(X)+b
线性方程,改变图像的亮度

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main() {
    Mat src;
    src = imread("F:/test.jpg");
    int width = src.cols;
    int height = src.rows;
    Mat dst;
    dst = Mat::zeros(src.size(), src.type());
    float alpha = 1.2;
    float beta = 30;
    Mat ml;
    src.convertTo(ml, CV_32F);
    for (int row = 0; row < height; row++) {
        for (int col = 0; col < width; col++) {
            if (src.channels() == 3) {
                float b = ml.at<Vec3f>(row, col)[0];
                float g = ml.at<Vec3f>(row, col)[1];
                float r = ml.at<Vec3f>(row, col)[2];

                dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(b*alpha + beta);
                dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar>(g*alpha + beta);
                dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar>(r*alpha + beta);
            }
        }
    }
    
    imshow("点运算", dst);
    waitKey(0);
    return 0;
}

相关文章

  • 点运算

    公式: G(X)=a*raw(X)+b线性方程,改变图像的亮度

  • 图像的基本操作实现

    图像的点运算实现 线性点运算的实现 图像的线性点运算的实现代码如下所示: 图像线性点运算的实现效果如上图所示,当:...

  • Flutter开发-Dart语言基础-2

    接着上篇Dart语言基础. 运算符 Dart和其他语言一样多种,支持多种运算. 点运算语法糖 点运算和Swift中...

  • 空间域处理方法

    数值运算 单波段运算 点运算 如2%去极化线性拉伸。 1.去极化(波段运算) 2. 拉伸(波段运算) 邻域运算 卷...

  • 不动点运算

    本章会介绍更多的算术运算符word,还会引入其他类型的数字 1 快捷操作运算符 从简单的运算开始,下面的运算符wo...

  • 24点运算

    题目描述计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法...

  • Opencv第六课--图像的运算

    数字图像的运算 图像处理中最重要的内容之一就是图像的运算,图像像素的运算包括点运算、代数运算、逻辑运算,图像的几何...

  • 图像的基本操作

    图像的点运算 线性点运算定义一像素线性点运算函数,如下所示:对以上函数,取不同参数,会取得不同的效果:若 ,经过运...

  • js操作对象属性用点和用中括号有什么不同?

    中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。 中括号运算符可以用字符串变量的内容作为...

  • JS相关知识总结

    扩展运算符 三个点... 扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个...

网友评论

    本文标题:点运算

    本文链接:https://www.haomeiwen.com/subject/ivnkpctx.html