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

  • 相关阅读:
    npx小工具
    2015 Multi-University Training Contest 1
    字符串 --- KMP Eentend-Kmp 自动机 trie图 trie树 后缀树 后缀数组
    AC自动机
    AC自动机
    区间合并 --- Codeforces 558D : Gess Your Way Out ! II
    暴力 + 贪心 --- Codeforces 558C : Amr and Chemistry
    计数排序 + 线段树优化 --- Codeforces 558E : A Simple Task
    Ubuntu 16.04 安装mysql并设置远程访问
    数学 --- 高斯消元 POJ 1830
  • 原文地址:https://www.cnblogs.com/yangmengke2018/p/10609939.html
Copyright © 2011-2022 走看看