#include "cv.h" #include "highgui.h" #include <iostream> using namespace std; using namespace cv; int main(int argc, char* argv[]) { Mat img1 = imread("maki.jpg"); Mat img2 = imread("misaka.jpg"); int height=img1.rows; //行数 int width=img1.cols; //列数 int dims=img1.dims; //维数 cout<<height<<" "<<width<<" "<<dims<<endl; Mat tmp(height,width,CV_8UC3,Scalar(2,2,2)); //产生一个[height width 3]所有元素全为2的矩阵 Mat re; //运算符重载真是让人喜欢 re=img1+Scalar(100,100,100); //图像相加 imshow("image1", re); re=img1-img2; //图像相减 imshow("image2",re); re=img1*2; //图像和一个数相乘 imshow("image3",re); re=img1/2; //图像和一个数相除 imshow("image4",re); re=img1.mul(tmp); //img1和tmp每个元素相乘 imshow("image5",re); Vec3i s=re.at<Vec3b>(1,1); //数据访问 cout<<s.val[0]<<" "<<s.val[1]<<" "<<s.val[2]<<endl; imwrite("re.jpg",re); waitKey(); return 0; }
[学习opencv]图像读取写入,加减乘除
最新推荐文章于 2024-02-17 17:05:11 发布