OpenCV学习-第6节-像素的算术操作
Posted 殇堼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV学习-第6节-像素的算术操作相关的知识,希望对你有一定的参考价值。
设置三个文件,分别存放以下代码。
1.测试文件
#include<opencv2/opencv.hpp>
#include<iostream>
#include<quickopencv.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("D:/images/lena.jpg");
if (src.empty()) {
printf("could not load image...\\n");
return-1;
}
imshow("input", src);
QuickDemo qd;
qd.operators_demo(src);
waitKey(0);
destroyAllWindows();
return 0;
}
2.头文件
#include<opencv2/opencv.hpp>
using namespace cv;
class QuickDemo {
public:
void colorSpace_Demo(Mat &image);
void mat_creation_demo(Mat &image);
void pixel_visit_demo (Mat &image);
void operators_demo(Mat &image);
};
3.quickdemo的c++文件
void QuickDemo::operators_demo(Mat &image) {
Mat dst;
dst = image + Scalar(50, 50, 50);//表示在原来的图像上每个通道增加50个像素值。也就是增亮操作。
imshow("加减操作", dst);
}
3.1加法操作
3.2减法操作
dst = image - Scalar(50, 50, 50)
变暗操作
3.3除法操作
dst = image / Scalar(5, 5, 5)
3.4乘法操作
直接将像素值乘以一个大于1的数,会导致某些点像素值超过255而报错。
解决办法:乘以一个新的图像。
multiply
以上是关于OpenCV学习-第6节-像素的算术操作的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV的核心操作 —— 图像的基本操作+图像上的算术运算