이번 방학에 MFC 배울 기회가 생겨 8시간 정도 배웠습니다.

기본적인 개념도 제대로 모릅니다.

그런데 수업을 들은 사람이면 무조건 프로젝트를 진행해야 돼서 OpenCV와 연동한 프로그램을 만들기로 했습니다.

원래는 이미지 파일을 불러와서 picture control에 띄워 마우스가 지나간 자리를 블러하는 프로그램을 만들려고 했습니다.

하지만 cvvImage 클래스니 뭐니 이상한 게 필요했고, 그 클래스를 사용하는 대신에cv::Mat을 BITMAP으로 전환하는 것도 더 힘든 작업이었습니다.

그래서 결국 picture control에 띄우는 건 포기하고 그냥 cv::namedWindow에 띄우기로 마음먹었습니다.

동시에 마우스 입력도 포기하고 대신에 Canny Edge나 허프 변환을 이용한 직선 또는 원 검출 프로그램을 만들기로 방향을 선회했습니다.

프로젝트 난이도를 낮춘 데다거 .dll 파일 때문에 다른 컴퓨터에서는 돌아가지도 않는 쓰레기 프로그램을 만들게 될거란 생각을 하니 우울해졌습니다.(단순 opencv staticlib는 MFC랑 호환이 안 된다고 하고, CMake로 정적라이브러리를 만들자니 배보다 배꼽이 더 커지는 느낌이었습니다.)

여차저차해서 대화상자 버튼 하나하나 만들어 가며 파일 불러오기, 내보내기, 블러링이나 흑백전환, Canny Edge 같은 거 opencv 자체 메서드 연동해서 구현했습니다.

그런데 이번엔 또 HoughLines가 문제네요. 아님 애초에 프로그램 설계를 잘못 한건지 라인검출만하면 자꾸 메모리 관련 오류가 뜹니다.

MFC고 OpenCV고 그냥 맛보기도 제대로 못한 정도인데 이렇게 맨 땅에 헤딩 식으로 프로그램 짜보려니까 힘드네요

더군다나 MFC는 이미 망한 프레임워크라 C#이나 WIN API에 밀린 옛날 프로그램이란 소리도 듣게 되니까

뭐 때문에 이러고 있나 싶은 생각이 듭니다.