Opencv学习三(Mat对象)

本文通过一个C++代码示例介绍了OpenCV中的Mat对象,包括读取图像、显示图像、创建纯色背景图、图像克隆、颜色转换、指针操作等基本操作。通过这些操作,可以深入理解Mat对象在OpenCV中的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
    Mat src;
    src = imread("1.jpg");
    if (src.empty())
    {
        cout << "无" << endl;
        return -1;
    }

    namedWindow("haha", WINDOW_AUTOSIZE);
    imshow("haha", src);

    Mat dst;   //定义一个新的对象
    一.获取纯色背景图操作
           dst=Mat(src.size(), src.type());  //初始化Mat对象和src大小类型一样
           dst = Scalar(0, 0, 0);  //创建一个新的图像0,0,0纯黑或者255,255,255纯白背景图

    二. 克隆操作

          dst = src.clone();    // 克隆
          src.copyTo(dst);  //需要参数的克隆

    三.转化图像操作
          cvtColor(src,dst,BGR2GRAY) ;    //将src转化为灰色命名为dst
          dst.channels(或者src.channels);  // 看是几通道
    四.指针操作

          int cols=dst.cols;  //总列数

          int rows=dst.rows; //总行数
          const uchar*firstrow=dst.ptr<uchar>(0);   //指针指向第一行
          printf("haha",*firstrow);      //第一行像素值

    五.

          Mat M(3,3,CV_8UC3,Scalar(0,0,255));  // 验证算法正确性

       

 

          

    namedWindow("ha", WINDOW_AUTOSIZE);
    imshow("ha", dst);
    waitKey(0);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值