본문 바로가기

OpenCV

[OpenCV] 이미지 읽기 및 저장 (C언어와 C++언어 비교)

//C언어로 작성된 코드
//읽어오기
#include "opencv/cv.h" 
#include "opencv/highgui.h" 

int main(void) {
IplImage* pImage = cvLoadImage("lena.png", -1);
if (pImage == NULL) return -1; 

cvNameWindow("Image", 1);
cvShowImage("Image", pImage);
cvWaitKey(0);

cvDestroyWindow("Image");
cvReleaseImage(&pImage);
return 0; 
}
//C++언어로 작성된 코드
//읽어오기
#include "opencv2/core/core.hpp" 
#include "opencv2/highgui/highgui.hpp" 

using namespace cv; 

int main(void) { 
Mat image = imread("lena.jpg", -1); 
if (image.data == NULL) return -1; 

namedWindow("image"); 
imshow("image", image); 

waitKey(0); 

return 0; 
}
//저장하기
#include "opencv/cv.h" 
#include "opencv/highgui.h" 

int main(void) { 
IplImage* pImage = cvLoadImage("lena.png", -1);
if (pImage == NULL) return -1; 

int param[3]; 
param[0] = CV_IMWRITE_JPEG_QUALITY; 
param[1] = 95; 
param[2] = 0; 
cvSaveImage("result.jpg", pImage, param);

cvReleaseImage(&pImage);
return 0; 
}
//저장하기
#include "opencv2/core/core.hpp" 
#include "opencv2/highgui/highgui.hpp" 

using namespace cv; 

int main(void) { 
Mat image = imread("lena.jpg", -1); 
if (image.data == NULL) return -1; 

vector params; 
params.push_back(CV_IMWRITE_JPEG_QUALITY); 
params.push_back(95); 
imwrite("result.jpg", image, params); 

return 0; 
}

 

'OpenCV' 카테고리의 다른 글

[OpenCV] 리눅스 OpenCV 설치 명령어  (0) 2020.04.21