1. 程式人生 > >【opecnv基礎】 002 顏色空間轉換+影象寫入

【opecnv基礎】 002 顏色空間轉換+影象寫入

知識點

(1)顏色空間轉換

(2)影象儲存


相關API(C++)

(1)顏色空間轉換函式:cvtColor()

void cvtColor (InputArray src, OutputArray dst, int code, int dstcn=0)

第一、二個引數分別是輸入的影象、輸出的目標影象。

第三個引數,code為顏色空間轉換的識別符號。

第四個引數,dstcn是目標影象的通道數,預設為0,表示目標影象取源影象的通道數。

顏色空間識別符號
識別符號 代替值 意義
COLOR_BGR2GRAY 6 彩色到灰度
COLOR_GRAY2BGR 8 灰度到彩色
COLOR_BGR2HSV 40 BGR到HSV
COLOR_HSV2BGR 54 HSV到 BGR

(2)影象儲存:imwrite()

 


c++版本示例

#include<opencv2\opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main()
{
	Mat src = imread("D:/opencv3.1.0/images/Messi.jpg");
	Mat dst;
	imshow("input image",src);
	cvtColor(src,dst,CV_BGR2GRAY);
	imwrite("D:/dst.jpg", dst);
	imshow("dst image", dst);

	waitKey(0);
	return 0;
}

python版本示例

import cv2 as cv

src = cv.imread("D:/opencv3.1.0/images/Messi.jpg")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)#顏色空間轉換
cv.imshow("gray", gray)
cv.imwrite("D:/dst1.jpg", gray);#在D:/dst1.jpg目錄下,寫入影象
cv.waitKey(0)
cv.destroyAllWindows()


★finished by songpl ,2018.12.