OpenCV 图像像素运算操作

加法操作详解

像素加法

加减乘除

#include <opencv2/opencv.hpp>

using namespace cv;

int main() {
    
    
    Mat image = imread("image.jpg");

    if (image.empty()) {
    
    
        std::cout << "无法加载图像" << std::endl;
        return -1;
    }

    // 加法变换
    Mat addResult;
    add(image, Scalar(50, 50, 50), addResult); // 将像素值增加50

    // 减法变换
    Mat subtractResult;
    subtract(image, Scalar(50, 50, 50), subtractResult); // 将像素值减去50

    // 乘法变换
    Mat multiplyResult;
    multiply(image, Scalar(0.5, 0.5, 0.5), multiplyResult); // 将像素值乘以0.5

    // 除法变换
    Mat divideResult;
    divide(image, Scalar(2.0, 2.0, 2.0), divideResult); // 将像素值除以2.0

    imshow("Original Image", image);
    imshow("Addition Result", addResult);
    imshow("Subtraction Result", subtractResult);
    imshow("Multiplication Result", multiplyResult);
    imshow("Division Result", divideResult);

    waitKey(0);

    return 0;
}

在上面的示例中,加载了一幅图像,然后分别对其进行加法、减法、乘法和除法变换。加法和减法变换使用标量(Scalar)来指定变换的值,乘法和除法变换使用标量来指定缩放因子。

请注意,对于加法和减法变换,可以使用正数或负数的标量值。对于乘法和除法变换,标量值必须是大于0的浮点数。


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs

猜你喜欢

转载自blog.csdn.net/qq_40135848/article/details/132865313