OpenCV (一)圖片讀取、修改、保存

1.圖片讀取ios

#include<opencv2/opencv.hpp>
#include<iostream>
#include<math.h>spa

using namespace cv;
using namespace std;對象

int main(int argc, char**argv) {
  cout << "Hello World" << endl;
  Mat src = imread("D:/Python/automotive/image/test.jpg");
  if (src.empty()) {
    cout << "Colud not load image..." << endl;
    return -1;
  }
  namedWindow("input image", WINDOW_AUTOSIZE);
  imshow("input image", src);圖片

  waitKey(0);
  return 0;input

}it

imread(),加載圖片成爲一個Mat對象,有兩個參數,第一個參數是圖片位置,第二個參數設置讀取圖片的類型:io

  IMREAD_UNCHANGED(<0):表示加載原圖,不作任何改變opencv

  IMREAD_GRAYSCALE(0):表示把原圖做爲灰度圖片加載test

  IMREAD_COLOR(>0):表示把原圖做爲RGB圖像加載進來stream

namedWindow():建立一個OpenCV窗口,由OpenCV自動建立與釋放,不須要銷燬。

  WINDOW_AUTOSIZE:會自動根據圖像大小,顯示窗口的大小,不能人爲改變窗口大小

  WINDOW_NORMAL:跟QT集成時候會使用,容許修改窗口大小

imshow():根據窗口名顯示圖像到指定的窗口上去,第一個參數是窗口名稱,第二個參數是Mat對象

2.圖片修改

cvtColor的功能是把圖像從一個彩色空間轉換到另外一個彩色空間,有三個參數,第一個是加載的圖像源,第二個是轉換後的圖像,第三個表示轉換方法:

  方法有:

    CV_BGR2HLS、CV_BGR2GRAY等

用法:cvtColor(image, output_image, CV_BGR2GRAY);

#include<opencv2/opencv.hpp>
#include<iostream>
#include<math.h>

using namespace cv;
using namespace std;

int main(int argc, char**argv) {
  cout << "Hello World" << endl;
  Mat image = imread("D:/Python/automotive/image/test.jpg");
  if (image.empty()) {
    cout << "Colud not load image..." << endl;
    return -1;
  }
  namedWindow("input image", WINDOW_AUTOSIZE);
  imshow("input image", image);

  namedWindow("output image", WINDOW_AUTOSIZE);
  Mat output_image;
  cvtColor(image, output_image, CV_BGR2GRAY);
  imshow("output image", output_image);
  waitKey(0);
  return 0;

}

 

3.圖片保存:

imwrite():

  保存圖片到指定目錄,只有8位、16位的PNG、JPG、Tiff文件格式並且是單通道或者三通道的BGR的圖像才能夠經過這種方式保存,能夠指定保存的格式爲上面三種任意一種,只需在文件路徑上加.jpg   .png。

#include<opencv2/opencv.hpp>
#include<iostream>
#include<math.h>

using namespace cv;
using namespace std;

int main(int argc, char**argv) {
  cout << "Hello World" << endl;
  Mat image = imread("D:/Python/automotive/image/test.jpg");
  if (image.empty()) {
    cout << "Colud not load image..." << endl;
    return -1;
  }
  namedWindow("input image", WINDOW_AUTOSIZE);
  imshow("input image", image);

  namedWindow("output image", WINDOW_AUTOSIZE);
  Mat output_image;
  cvtColor(image, output_image, CV_BGR2GRAY);
  imshow("output image", output_image);
  imwrite("D:/OpenCVtest/output_img/test.tif", output_image);
  waitKey(0);
  return 0;

}

相關文章
相關標籤/搜索