c++:opencv读图后mat矩阵的基本操作

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{   //读图
    Mat scr = imread("C:/Users/dell/Desktop/图片变化/1024_699_3.jpg"); //此为你电脑上图片的路径
    //窗口命名
    namedWindow("林允儿", 0);
    //显示
    imshow("林允儿", scr);
    //创建一个新矩阵
    Mat dst;
    //将scr变成灰色给dst
    cvtColor(scr, dst, COLOR_BGR2GRAY); //图像灰度化
    namedWindow("灰度图", 1);
    //灰度图显示
    imshow("灰度图", dst);
    //通道数显示
    cout <<"原图的通道数 :" <<scr.channels() << endl;
    cout << "灰度图的通道数: "<<dst.channels()<<endl;
    //维数显示
    cout << "原图的维数 :" << scr.dims<< endl;
    cout << "灰度图的维数: " << dst.dims<< endl;
    //图的行列大小
    cout << "原图的行列分别为 :" << scr.rows << "  " << scr.cols << endl;
    cout << "灰度图的行列分别为: " << dst.rows << "  " << dst.cols << endl;
    //矩阵元素大小
    cout << "原图的一个元素的大小 :" << scr.elemSize()<< endl;
    cout << "灰度图的一个元素的大小: " << dst.elemSize()<< endl;
    //如果Mat中的数据类型是CV_8UC1,那么elemSize==1;如果是CV_8UC3或CV_8SC3,那么elemSize==3;如果是CV_16UC3或者CV_16SC3,那么elemSize==6;即elemSize是以8位(一个字节)为一个单位,乘以通道数和8位的整数倍;
    //索引矩阵中的一个元素
    int a = dst.at<uchar>(255, 255);
    cout << a << endl;
    waitKey(0);
    destroyAllWindows();
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值