OpenCV4.8
+ -

Mat类

2025-04-14 2 0

拷贝

161300331830

浅拷贝:

    cv::Mat src = cv::imread("k:\\opencv\\test.jpg");
    cv::Mat desc = src;

深拷贝

    cv::Mat src = cv::imread("k:\\opencv\\test.jpg");
    cv::Mat dest = src.clone();

    cv::Mat dest2; 
    src.copyTo(dest2);

创建纯色MAT

    cv::Mat dest3 = cv::Mat::zeros(cv::Size(8, 8), CV_8UC1);
    std::cout << dest3 << std::endl;

    //8bit unsigned char 3
    cv::Mat dest4 = cv::Mat::ones(cv::Size(300, 300), CV_8UC3);//颜色以是BGR形式展示
    std::cout << "cols=" << dest4.cols << " rows=" << dest4.rows << " changel=" << dest4.channels() << std::endl;

    //分别填充每一像素的值
    dest4 = cv::Scalar(10,200,100);
    //std::cout << dest4 << std::endl;

像素的编历

code

    cv::Mat src = cv::imread("k:\\opencv\\test.jpg");
    cv::Mat dest = src.clone();

    for (int y = 0; y < dest.cols; y++)
    {
        for (int x = 0; x < dest.rows; x++)
        {
            dest.at<cv::Vec3b>(x,y)[0] = 255 - dest.at<cv::Vec3b>(x, y)[0];
            dest.at<cv::Vec3b>(x,y)[1] = 255 - dest.at<cv::Vec3b>(x, y)[1];
            dest.at<cv::Vec3b>(x,y)[2] = 255 - dest.at<cv::Vec3b>(x, y)[2];
        }
    }

    cv::imshow("gg", src);
    cv::imshow("ff", dest);

unsigned char * pLine = dest.ptr<uchar>(row);

173359754518

0 篇笔记 写笔记

作者信息
站长漫谈
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!