관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

OpenCV로 시작하는 컴퓨터 비전 10 - 연습문제 풀기 2 : 문제 4~6번 본문

인공지능/컴퓨터 비전

OpenCV로 시작하는 컴퓨터 비전 10 - 연습문제 풀기 2 : 문제 4~6번

huenuri 2024. 11. 8. 05:57

이어서 4번 문제부터 풀어보겠다.


 

 

 

연습문제 풀기 두 번째

 

문제 4번

프로그램 2-3을 0.1, 0.2, 0.3, ..., 0.9, 1.0으로 축소한 영상 10개를 서로 다른 윈도우에 디스플레이하도록 확장하시오.

 

 

 

하지만 이런 오류가 발생했다. 이것은 해당 줄에 예상치 못한 들여 쓰기가 있어서 발생합니다. 코드의 들여쓰기가 맞지 않거나, 불필요한 공백이 들어갔을 때 발생하는 오류이다. 이제 보니 14행에서 들어 쓰기 오류가 있었다.


 

 

코드 다시 수정하기

 

 

 

 

 

이렇게 배율별로 모든 창에 표시되고 있다. 포개져서 나타나는 몇 개의 창은 가려보았다.

 

 

 

0.1배

 

0.5배

 

 

1배


 

 

 

 

문제 5번

프로그램 2-4에서 사용자가 중간에 g를 입력하면 명암 영상을 디스플레이하고 c를 입력하면 컬러 영상을 디스플레이하도록 확장하시오.

 

 

먼저 9행에서 명암 영상을 표시할 여부를 저장하는 변수를 생성하고 이것을 False로 설정한다. 지금은 컬러 상태인 것이다. 그런 다음 명암과 컬러 영상으로 변환하는 코드를 조건문으로 추가해 준다. 

그리고 키 입력에 따른 상태 변경 조건문도 만들어주어야 하는데 원래 이전 코드에는 if 하나만 있어서 q를 누르면 빠져나가는 거였다. 여기에 키가 2개나 더 추가되었으니 elif를 써서 조건을 더 추가한다.

 

 

 

 

 

 

 

어제 먹다 남은 청포도를 찍어보았다.


 

 

 

 

문제 6번

프로그램 2-6은 직사각형 왼쪽 위에 'laugh'라고 써넣었다. 'laugh'를 직사각형에서 조금 떨어뜨려 표시하고 'laugh' 문자열이 화살표로 직사각형을 가리키도록 수정하시오.

◎ 힌트 : 화살표는 arrowedLine 함수로 그린다.

 

 

 

 

 

이것이 원래 코드와 이미지이다. 이 글씨를 직사각형에서 조금 떨어뜨려 표시하고, 이 문자열이 직사각형을 가리키도록 화살표를 그리라는 것이다. 문제가 좀 어렵다.

 

 

 

문제 풀기

 

 

근데 laugh 글씨가 가려져서 잘 보이지 않았다. 위치를 조금만 수정하면 될 것 같다.


 

 

 

 

 

 

이번에는 화살표와 글씨가 제대로 보인다.

 


 

 

 

학습을 마치고

세 문제도 모두 잘 풀어보았다. 혼자서는 지금은 풀기 어려운 문제가 많아서 대부분 검색하고 찾아보면서 풀었다. 그래도 이렇게라도 풀어보는 것이 훨씬 기억에 남을 것이다.

이제 2장의 마지막 연습문제를 향해 달려가보자. 이런 식으로 공부를 하면 진도는 많이 느릴 것 같다.