4학년 1학기 영상처리시간에 Term Project로서 했던, 유사한 세포 이미지를 검색하는 프로그램...
간단히 설명하자면, Target이미지를 불러와서 대상이미지에서 Target이미지와 유사한 이미지를 찾는 프로그램이다.
프로젝트 하면서, 오호~ 되네~? 라고 내가 만들고도 신기해 했던 프로그램인듯 ㅋㅋ

MFC에서 지원된 Ribbon인터페이스는 처음 해보는지라... 알고리즘보단,
(알고리즘 이래봤자 책에 있는것 가져오는게 전부라서.. -_-;;)

인터페이스 만든다고 삽질한게 시간 더 걸린듯... ㅋㅋ
그래도 하면서 나름 많은것을 건진 Term Project였던 것 같다 ㅋㅋ

 

 

 

 

사용한 알고리즘은 다음과 같다

- K-Mean Clustering
- Thresholding
- Morphology Opening & Closing
- Connected Labeling
- Invariant Moment

 

 


 

 

 

 

 

 

 

 

'Portfolio' 카테고리의 다른 글

[C#->MFC] USB File Stealer  (0) 2014.11.29
[C#, Oracle] 철도 예약 관리 프로그램  (3) 2014.11.29
[C] Winsock을 이용한 FTP Client 소켓 프로그래밍  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
Posted by Programist
,

4학년 1학기 네트워크 프로그래밍 Term Project winsock을 이용한 FTP Client.
말이 좋아, 네트워크 프로그래밍이지 C로 FTP명령어 ParsingPassive Mode 설정 빼고는
노가다 작업 Term Project인듯 하다 -_-;;;

처음에 Term Project를 MFC기반으로 할 것이라는 이야기가 나왔었지만...
결국엔 Console로 진행 확정. ㅡ,.ㅡ;;

MFC로 했으면 하마터면 알FTP만들뻔 -ㅅ- ;;;
코딩하는데는 한 3일 걸린것같다...;;

FTP명령어에 대한 Parsing은 strtok()함수를 사용하여, 띄워쓰기에 대한 Count를 돌려,
동적할당으로 그때 그때 메모리를 늘리고 지우도록 코딩하였다.

처음에 가장 어리버리했던 Active ModePassive Mode 접속방법...

이 Term Project에서 send()함수와 recv()노가다만 작업한다면,
FTP명령어의 80%정도는 Active Mode에서 구현이 가능하다...
(open, ls, rename, delete, info, pwd, mkdir, rmdir, cwd, bye 등등...)
하지만 20%정도는 Passive Mode에서 명령어 사용이 가능하다.
(put, get, mget, mput, rget 등등...)

문제는 FTP는 파일 전송 프로토콜(File Transfer Protocol)이므로, 나머지 20%가 더 중요하다는 것...


Active Mode

 

 

Passive Mode

 

 

open 명령어로 FTP Server에 접속할 때는 Active Mode로 접속을 하지만, Active Mode로 FTP Server를 접속한 후, 데이터를 업/다운로드 하기 위해서는 Passive Mode로 다시 요청하여 접속을 해아한다.
그러기 위해서는 PASV 명령어를 send하여 recv로 A1,A2,A3,A4,a1,a2를 받고,
부여받은 A1,A2,A3,A4,a1,a2를 변환하여 connect()을 시도하면 Passive Mode로 접속이 가능하다.

(
A1,A2,A3,A4=IP, a1,a2=Port -> Port Number 계산법 : a1*256+a2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Portfolio' 카테고리의 다른 글

[C#, Oracle] 철도 예약 관리 프로그램  (3) 2014.11.29
[MFC] 유사 세포이미지 검색  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
[JAVA] 계산기  (0) 2014.11.29
Posted by Programist
,

인공지능 시간때, 첫번때 과제로 주어진 k-Nearest Neighbor Classifier을 구현한 프로그램이다.
다섯개의 그룹 A,B,C,D,E로 랜덤 함수를 이용해서, 각각 그룹의 100개씩, 500개의 훈련 데이터와, 각각 그룹의 10개씩, 50개의 테스트 데이터를 사용하여, k값의 변동에 따라, 유클리드 거리와, 맨하탄 거리를 구하여, 테스트 데이터들이 제대로 그룹에 분류가 되는지, 인식률을 보는 모의 시뮬레이션 프로그램이다

- 유클리드 거리 계산

 

- 맨하탄 거리 계산

 

 

 

 

 

 

 

 

 

 

 

'Portfolio' 카테고리의 다른 글

[MFC] 유사 세포이미지 검색  (0) 2014.11.29
[C] Winsock을 이용한 FTP Client 소켓 프로그래밍  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
[JAVA] 계산기  (0) 2014.11.29
[C] 장애물 피하기 Game  (0) 2014.11.29
Posted by Programist
,

[MFC] PingPong

Portfolio 2014. 11. 29. 18:24

3학년 1학기때 배우게 된 MFC, 학교 커리큘럼이 이상한 것이... -_-;;
C++과목이 따로 없다... 이론시간에는 C++, 실습시간에는 MFC -_-;;
C++을 따로 독학해야했지만... MFC시간의 Term Project 자체도 2개의 공 튀기는 샘플 코드를 주고,

이것을 활용해서 게임을 만들어라는 것이 주제였다...
하는수 없이, 떠오르는건 PingPong Game 밖에...

Visual로 말할거같으면 정말 허접하게 그지 없는... 부끄러울정도로... ㅠㅠ
이 프로그램에 대한 애착을 안가져준것이 지금에 와서는 후회스럽긴 하네... ㅋㅋ

 

 

'Portfolio' 카테고리의 다른 글

[C] Winsock을 이용한 FTP Client 소켓 프로그래밍  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[JAVA] 계산기  (0) 2014.11.29
[C] 장애물 피하기 Game  (0) 2014.11.29
[C] Baseball 숫자 맞추기 게임  (0) 2014.11.29
Posted by Programist
,

[JAVA] 계산기

Portfolio 2014. 11. 29. 18:23

2학년때, 태어나서 처음으로 GUI 인터페이스를 만들어보았다...
비록 간단한 계산기였지만... 난생 처음 해본 GUI인터페이스라 기억에 남아서 올려본다...
계산기 따위가 뭐가 대수냐라고 생각하겠지만, 그때만해도 은근히 생각지도 못한 버그들 때문에 꽤나 고민했던것으로 기억한다. 소수점 연산이라던지, 연산 후, 소수점 조절 등등, 생각보다 예외처리가 많았던...

 

 

'Portfolio' 카테고리의 다른 글

[C] Winsock을 이용한 FTP Client 소켓 프로그래밍  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
[C] 장애물 피하기 Game  (0) 2014.11.29
[C] Baseball 숫자 맞추기 게임  (0) 2014.11.29
Posted by Programist
,

2학년때는 해본게 C Console 프로그램밖에 해본적이 없으니 -_-;;

이건 동아리에서 한 것... 회장선배님의 1달에 1개씩 Project 수행 정책에 의하여... 규모가 양산형... ㅋㅋ

이 게임에 대해 설명하자면... 어떻게 보면 똥피하기(?), 어떻게 보면 자동차 장애물 피하기(?)가
될 수 있는 게임이다.
대충 피하는 것, 속도 조절, 일시 정지 가능... *에 의해서 부딫히게되면 계속 아래로 떨어지고, 결국 마지막까지 떨어지면, GameOver. 주행거리가 100Km 늘어날때마다 한칸씩 올라간다.

솔찍히 만드는 데는 1주정도 걸린것으로 기억하는데... 이 이후로, 1달에 1번씩 Project 정책은 흐지부지하게 되고...
그래도나름 하면서 재미는 있었ㄷ...

 

 

 

 

'Portfolio' 카테고리의 다른 글

[C] Winsock을 이용한 FTP Client 소켓 프로그래밍  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
[JAVA] 계산기  (0) 2014.11.29
[C] Baseball 숫자 맞추기 게임  (0) 2014.11.29
Posted by Programist
,

1학년때, C언어 프로그래밍 시간에 1주일짜리 TermProject 과제였던것으로 기억한다.
(이게 무슨 Term Project 거리라도 되냐고 싶지만... 태어나서 처음 컴퓨터 언어라는 것을 배워서 만들었다는 것에 의미를 두고 싶다.)

제대를 하고, 2학년때, 옛기억을 떠올려 간단하게 숫자에 대한 결과를 표시하는 Field를 넣었는데..

저건 그냥 자료구조 연습삼아서, 넣어본 단일링크드리스트 ㅡ,.ㅡ;;;

 

 

 

 

 

 

'Portfolio' 카테고리의 다른 글

[C] Winsock을 이용한 FTP Client 소켓 프로그래밍  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
[JAVA] 계산기  (0) 2014.11.29
[C] 장애물 피하기 Game  (0) 2014.11.29
Posted by Programist
,