728x90
이미지를 다루는 가장 기본적인 작업은 이미지 읽기(Read), 보여주기(Display), 저장하기(Write)이며, 이는 모든 비전 프로젝트의 출발점입니다. OpenCV는 이러한 기능을 단 몇 줄의 코드로 수행할 수 있도록 다양한 함수와 인터페이스를 제공하며, 이 함수들만 이해하면 대부분의 이미지 처리 작업에 쉽게 접근할 수 있습니다.
함수 설명
1) imread() – OpenCV에서 이미지를 읽는 대표적인 함수
- Python: cv2.imread("경로", 옵션)
- C++: cv::imread("경로", 옵션)
(옵션값)
- cv2.IMREAD_COLOR 컬러 이미지 읽기(RGB → BGR)
- cv2.IMREAD_GRAYSCALE 그레이스케일 읽기
- cv2.IMREAD_UNCHANGED 알파 채널 포함 이미지 읽기
2) imshow() – imshow()는 읽은 이미지를 화면에 띄워주는 함수
- 첫 번째 인자: 윈도우 이름, 두 번째 인자: 출력할 이미지
- 윈도우가 바로 닫히지 않도록 waitKey()와 함께 사용
3) imwrite() - 처리된 이미지를 파일로 저장할 때 사용하는 함수
- Python: cv2.imwrite("파일명", 이미지)
- C++: cv::imwrite("파일명", 이미지)
- (지원 확장자) PNG, JPG, BMP 등 대부분의 일반 이미지 포맷.
Python 예제
import cv2
# 1. 이미지 읽기
img = cv2.imread("input.jpg", cv2.IMREAD_COLOR)
# 2. 이미지 화면으로 보여주기
cv2.imshow("Input Image", img)
cv2.waitKey(0) # 키 입력 대기
cv2.destroyAllWindows()
# 3. 이미지 저장하기
cv2.imwrite("output.jpg", img)
import cv2
# 그레이스케일로 이미지 읽기
gray = cv2.imread("input.jpg", cv2.IMREAD_GRAYSCALE)
# 화면 출력
cv2.imshow("Gray Image", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 이미지 저장
cv2.imwrite("output_gray.jpg", gray)
C/C++ 예제
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 1. 이미지 읽기
Mat img = imread("input.jpg", IMREAD_COLOR);
if (img.empty()) {
printf("Image load failed!\n");
return -1;
}
// 2. 이미지 화면에 보여주기
imshow("Input Image", img);
waitKey(0);
// 3. 이미지 저장하기
imwrite("output.jpg", img);
return 0;
}
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 그레이스케일로 읽기
Mat gray = imread("input.jpg", IMREAD_GRAYSCALE);
if (gray.empty()) {
printf("Image load failed!\n");
return -1;
}
// 화면 출력
imshow("Gray Image", gray);
waitKey(0);
// 이미지 저장
imwrite("output_gray.jpg", gray);
return 0;
}728x90
'영상처리 도구' 카테고리의 다른 글
| OpenCV 색 공간 비교로 배우는 영상처리 개념 (RGB, HSV, LAB, YCrCb) (0) | 2025.11.30 |
|---|---|
| OpenCV 이미지 크기 조절 방법 (Resize, Scaling) (0) | 2025.11.28 |
| OpenCV 웨이블릿 변환 Wavelet Transform (pywavelets, wavelib) (0) | 2025.10.19 |
| OpenCV 허프 변환 HoughLines, HoughLinesP (1) | 2025.08.10 |
| OpenCV Pseudo Color Processing 의사 색상 처리 applyColorMap (3) | 2025.08.03 |
