OpenCV 영상 조절 화소 처리 - 입력 영상의 특정 좌표 픽셀 값을 변경하여 출력 영상의 해당 좌표 픽셀 값으로 설정하는 연산 - 반전, 밝기 조절, 명암비 조절, 이진화 등 밝기 조절 연산자 오버로딩 활용 dst(x, y) = src(x, y) + n // 밝기 조절 dst(x, y) = 255 - src(x, y) // 영상 반전 직접 구현 Mat dst(src.rows, src.cols, src.type()); for(int y =0; y 컴퓨터 비전 2023.10.19
OpenCV 유용한 기능 행렬 합, 평균, 최대/최소 구하기 Scalar sum(InputArray src); // 합 에시 unchar data[] = {1,2,3,4,5,6}; Mat mat1(2,3, CV_8UC1, data); int sum1 = (int)sum(mat1)[0]; ------------------------------- Scarlar mean(InputArray src, InputArray mask = noArray()); // 평균 예시 Mat img = imread("lenna.bmp", IMREAD_GRAYSCALE); double mean1 = mean(img); // m[0]: blue 평균 m[1]: green 평균 m[2]: red 평균 -------------------------------.. 컴퓨터 비전 2023.10.18
OpenCV 기초 OpenCV 기본 코드 #include #include "opencv2/opencv.hpp" //OpenCV 헤더 using namespace std; using namespace cv; int main() { Mat img = imread("lenna.bmp"); // lenna.bmp 읽어옴 // 저장은 imwrite if (img.empty()) { // 이미지 없을 시 동작 cerr 컴퓨터 비전 2023.10.17
영상 데이터와 파일 형식 영상 데이터 영상 : 픽셀이 바둑판 모양의 격자에 나열되어 있는 형태 그레이스케일 영상 : 흑백 사진처럼 색상 정보없이 256 단계의 밝기 정보만으로 구성된 영상 트루컬러 영상 : 컬러 사진처럼 RGB 색 성분 256 단계로 표현된 영상 영상 데이터 표현 방법 정적 2차원 배열의 생성 unsigned char a[480][640] {}; 단점 : 배열의 크기를 미리 알고 있어야 함 동적 2차원 배열의 생성 int w = 640; int h = 480; unsigned char** p; p = new unsigned char*[h]; for (int i = 0; i 컴퓨터 비전 2023.10.16