Mat创建图像

#include
#include
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_(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
    filter2D(src, csrc, -1, kernel);
    imshow("sixth way", csrc);
    waitKey(0);
    return 0;
}

你可能感兴趣的:(Mat创建图像)