모양 복습
이미지 변형부터 특징 매칭까지 모양 처리의 핵심 개념과 OpenCV API 복습
퀴즈
cv.resize()에서 가로와 세로를 각각 절반으로 줄이는 배율 설정은?
- ○
fx=0.5, fy=0.5 - ○
fx=2, fy=2 - ○
fx=0.5, fy=1 - ○
fx=1, fy=0.5
퀴즈를 풀려면 대화형 기능을 불러와야 합니다.
cv.resize()에서 가로와 세로를 각각 절반으로 줄이는 배율 설정은?
1보다 작은 배율은 축소이며 두 방향에 같은 값을 사용해야 모양이 찌그러지지 않습니다.
fx=0.5, fy=0.5fx=2, fy=2fx=0.5, fy=1fx=1, fy=0.5fx=0.5, fy=0.5cv.resize()의 출력 크기 dsize에 값을 넣는 순서는?
NumPy 배열의 shape 순서와 OpenCV의 크기 인자 순서는 서로 다릅니다.
(너비, 높이)(높이, 너비)(채널, 너비)(너비, 채널)(너비, 높이)cv.flip()의 flipCode와 반전 방향이 올바르게 연결된 것을 모두 고르세요.
0은 x축을 기준으로, 양수는 y축을 기준으로 반전하며 음수는 두 축을 모두 기준으로 반전합니다.
flipCode=0: 상하 반전flipCode=1: 좌우 반전flipCode=-1: 상하·좌우 반전flipCode=2: 시계 방향 90도 회전flipCode=0: 상하 반전, flipCode=1: 좌우 반전, flipCode=-1: 상하·좌우 반전평행 이동을 적용한 이미지에서 변하지 않는 것은?
평행 이동은 모든 점에 같은 이동량을 더하는 변환입니다.
서로 평행한 두 직선에 아핀 변환을 적용하면 두 직선의 관계는?
아핀 변환은 소실점으로 모이는 원근 효과를 표현하지 않습니다.
비스듬히 촬영되어 사다리꼴처럼 보이는 평면을 정면 사각형으로 보정할 때 알맞은 변환은?
원본의 네 모서리를 출력의 네 모서리에 대응시키는 변환입니다.
체커보드의 내부 교차점을 검출하는 OpenCV 함수는?
패턴 크기를 받아 검출 성공 여부와 교차점 좌표를 반환하는 함수입니다.
cv.findChessboardCorners()cv.cornerSubPix()cv.goodFeaturesToTrack()cv.findContours()cv.findChessboardCorners()카메라 교정에서 pattern_size = (7, 10)이 의미하는 것은?
cv.findChessboardCorners()는 칸의 개수가 아니라 칸 사이의 내부 교차점을 셉니다.
카메라 교정 결과의 카메라 행렬 mtx에 들어 있는 값은?
정규화된 카메라 좌표를 픽셀 좌표로 바꿀 때 사용하는 내부 파라미터를 떠올려 보세요.
ArucoDetector 객체로 이미지에서 마커를 검출할 때 사용하는 메서드는?
마커의 꼭짓점, ID, 탈락 후보를 함께 반환하는 메서드입니다.
detector.detectMarkers()detector.detectAndCompute()detector.findContours()detector.solvePnP()detector.detectMarkers()ArUco 마커 내부의 검정·흰색 패턴이 하는 역할은?
같은 사전에 속한 여러 마커를 서로 구별하는 정보입니다.
장면에 ArUco 마커를 기준으로 배치하면 이미지에서 무엇을 추정할 수 있나요?
크기를 알고 있는 사각형의 네 꼭짓점은 장면 안의 좌표 기준으로 사용 가능합니다.
이미지에 평균 필터를 적용하면 일반적으로 어떤 변화가 나타나나요?
주변 픽셀값을 섞으면 급격한 밝기 차이와 작은 세부 무늬가 줄어듭니다.
샤프닝을 강하게 적용할 때 나타날 수 있는 부작용은?
샤프닝은 실제 물체의 경계와 원하지 않는 미세한 밝기 변화도 함께 키웁니다.
같은 크기의 평균 필터와 비교한 가우시안 필터의 특징은?
정규분포 모양의 가중치가 커널 중심에서 가장 높습니다.
검은 바탕에 흰 물체가 있는 이미지에서 열림 연산에 대한 설명으로 올바른 것을 모두 고르세요.
물체 영역의 작은 돌출부를 먼저 깎은 뒤 남은 물체의 크기를 회복하는 과정입니다.
모폴로지 연산에서 구조화 요소가 정하는 것은?
커널의 크기와 형태에 따라 어떤 이웃 픽셀을 함께 검사할지가 달라집니다.
물체를 흰색으로 표시한 이진 이미지에 팽창을 적용했을 때 나타날 수 있는 변화를 모두 고르세요.
주변에 흰색 픽셀이 하나라도 있으면 중심 픽셀이 흰색으로 확장될 수 있습니다.
cv.findContours()에서 검색 모드 cv.RETR_EXTERNAL의 역할은?
중첩된 물체에서 내부 구멍의 경계까지 필요한지 생각해 보세요.
윤곽선 목록 contours에서 면적이 가장 큰 윤곽선을 선택하는 코드는?
윤곽선 목록에서 각 원소의 면적을 비교 기준으로 사용하는 표현을 고르세요.
main_contour = max(contours, key=cv.contourArea)main_contour = min(contours, key=cv.contourArea)main_contour = max(contours, key=lambda contour: cv.arcLength(contour, True))main_contour = cv.contourArea(contours)main_contour = max(contours, key=cv.contourArea)윤곽선 모멘트 moments로 무게중심의 x좌표를 계산하는 코드는?
x좌표가 반영된 1차 모멘트를 윤곽선 면적으로 나눕니다.
center_x = int(moments["m10"] / moments["m00"])center_x = int(moments["m01"] / moments["m00"])center_x = int(moments["m00"] / moments["m10"])center_x = int(moments["m10"] + moments["m00"])center_x = int(moments["m10"] / moments["m00"])cv.approxPolyDP()에서 epsilon을 크게 하면 일반적으로 어떻게 되나요?
허용 오차가 커질수록 작은 굴곡을 하나의 선분으로 단순화하기 쉬워집니다.
cv.convexHull(contour)가 반환하는 결과에 대한 설명으로 알맞은 것은?
고무줄로 도형의 바깥쪽을 감쌌을 때 오목한 부분을 건너뛰는 경계를 떠올려 보세요.
epsilon만큼 꼭짓점을 줄인 다각형윤곽선의 원형도 4πA/P2가 1에 가까울 때의 해석은?
같은 면적에서 둘레가 가장 짧은 평면 도형을 떠올려 보세요.
신분증 스캔에서 오츠 이진화를 사용하는 주된 이유는?
카드와 배경을 나누는 밝기 기준을 사람이 직접 정하지 않는 방법입니다.
계산한 투시 변환 행렬을 이미지 전체에 적용하는 OpenCV 함수는?
점 좌표만 바꾸는 함수가 아니라 출력 크기를 받아 새 이미지를 만드는 함수를 고르세요.
cv.warpPerspective()cv.warpAffine()cv.perspectiveTransform()cv.remap()cv.warpPerspective()ORB의 이진 디스크립터를 비교할 때 사용하는 거리 척도는?
두 비트열에서 서로 다른 비트의 개수를 세는 방식입니다.
이미지 매칭에서 디스크립터의 역할은?
서로 다른 이미지에서 두 특징점의 주변이 얼마나 비슷한지 판단하려면 수치 표현이 필요합니다.
이미지 매칭에서 호모그래피의 역할은?
하나의 평면이 다른 시점에서 보이는 위치 관계를 투시 변환으로 나타냅니다.
호모그래피를 추정할 때 RANSAC을 사용하는 주된 이유는?
잘못 연결된 대응점이 섞여 있어도 하나의 변환을 지지하는 점들을 찾아야 합니다.