zoukankan      html  css  js  c++  java
  • OpenCV4.0学习笔记

    1.读取显示图像

     1 #include<opencv2/opencv.hpp>
     2 #include<iostream>
     3 using namespace cv;
     4 using namespace std;
     5 int main(int artc, char** argv)
     6 {
     7     //Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg");
     8     Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg", IMREAD_GRAYSCALE);
     9     if (src.empty())
    10     {
    11         printf("could not load image...
    ");
    12         return -1;
    13     }
    14     namedWindow("input", WINDOW_NORMAL);
    15     imshow("input", src);
    16     waitKey(0);
    17     return 0;
    18 }
    imread imshow

    2.彩色图像与灰度图像转换  图像保存

     1 #include<opencv2/opencv.hpp>
     2 #include<iostream>
     3 using namespace cv;
     4 using namespace std;
     5 int main(int artc, char** argv)
     6 {
     7     Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg");  //彩色图像
     8     if (src.empty())
     9     {
    10         printf("could not load image...
    ");
    11         return -1;
    12     }
    13     namedWindow("input", WINDOW_NORMAL);
    14     imshow("input", src);
    15     waitKey(0);
    16     Mat gray;
    17     cvtColor(src,gray,COLOR_BGR2GRAY);
    18     imshow("input",gray);
    19     imwrite("D:/学习与突破/OpenCV/C++与OpenCV/write002.jpg", gray);
    20     waitKey(0);
    21     return 0;
    22 }
    BGR2Gray imwrite

    3.Mat对象

    Mat对象在C++内存中分头部和数据部分,头部信息包括:图像长高、图像通道数、类型等,数据部分是每一个像素点处的灰度值信息。

    Mat对象的克隆和复制会生成一个全新的内存对象,Mat对象的赋值不会生成新的内存对象,赋值前后的两个指向同一个内存。

     1 #include<opencv2/opencv.hpp>
     2 #include<iostream>
     3 using namespace cv;
     4 using namespace std;
     5 int main(int artc, char** argv)
     6 {
     7     Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg", IMREAD_GRAYSCALE);
     8     //克隆
     9     Mat m1 = src.clone();  
    10     //复制
    11     Mat m2;
    12     src.copyTo(m2);
    13     //赋值
    14     Mat m3 = src;
    15 
    16     //创建空白图像
    17     Mat m4 = Mat::zeros(src.size(),src.type());
    18     Mat m5 = Mat::zeros(Size(512,1024),CV_8UC3);
    19     Mat m6 = Mat::ones(Size(512, 512), CV_8UC3);
    20 
    21     Mat kernel = (Mat_<char>(3, 3) << 0, -1, 4, 2, 4, 9, 1, -3, 3);
    22 }
    Mat克隆 复制 赋值

    4

  • 相关阅读:
    js类中的static、public、private、protected
    BOM—Browser Object Model and DOM—Document Object Model
    Vue之vue中的data为什么是一个函数+vue中路径别名alias设置
    vue之nextTick
    情感分析-英文电影评论
    wiki中文语料的word2vec模型构建
    python正则表达式
    leetcode
    智力题
    Event Recommendation Engine Challenge分步解析第七步
  • 原文地址:https://www.cnblogs.com/yangmengke2018/p/10609939.html
Copyright © 2011-2022 走看看