Mat创建图像

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main() {
    Mat src;
    src = imread("F:/test.jpg");
    imshow("first way", src);

    Mat dst;
    dst = Mat(src.size(), src.type());
    //Scalar 标量.....创建空白的图像
    dst = Scalar(127, 0, 255);
    imshow("second way", dst);

    Mat dat;
    //翻译一下就是src复制到dat中
    src.copyTo(dat);

    Mat dd;
    cvtColor(src, dd, CV_BGR2GRAY);
    // dd.channels()==1
    //1个通道,cvtColor可以改变通道数量
    cout << dd.channels() << endl;
    imshow("third way", dd);

    Mat adt(100, 100, CV_8UC3, Scalar(0, 0, 255));
    imshow("fouth way", adt);


    Mat ml;
    //创建一个与src图片相同大小的空白图像
    //并赋予色相
    ml.create(src.size(), src.type());
    ml = Scalar(0, 0, 255);
    imshow("fiveth way", ml);
    

    Mat csrc;
    Mat kernel = (Mat_<char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
    filter2D(src, csrc, -1, kernel);
    imshow("sixth way", csrc);
    waitKey(0);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容