|
목록에서 글자 제한 23이였음 ?>
질문게시판 - 반드시 검색을 하신 후 원하는 답변을 찾을 수 없을 때, 질문을 올려주세요. |
| Posted by 강정훈 | 2009-02-20 21:10:03, Hit : 3883 | |
|
|
|
그림 비교라는 문법은 없는듯해서요.
그림판1 과 그림판2 그림을 서로 비교해서 같은그림인지 확인좀 하려고 하는데 가능한 것 인지요. 전문가의 자문을 구하고 싶습니다.
한가지더 ...................마우스 커서 이건 해결못함...다른방법쓰기로 했네요..좀 오류가 있지만 ㅜㅜ |
|
|
박종훈 2009-02-20 PM 9:39:29 |
|
|
|
그림을 비교하는 명령어는 없는데요, 구현방법을 간단히 알려드리겠습니다.
(이것보다 더 좋은 방법이 있다면 알려주세요~)
1. 우선 그림의 사이즈를 비교한다.
[ㅎ그림판.그림.높이], [ㅎ그림판.그림.폭]을 비교합니다. 그림의 높이나 폭이 다르다면 그것은 당연히 다른 그림입니다.
2. [ㅎ그림판.그림빼] 명령어를 이용한다.
높이와 폭으로 그림을 검사를 한 다음에는 다음을 이용해서 진짜로 동일한 그림인지 검사를 합니다.(높이와 폭은 같지만 서로 다른 그림일 경우죠.)
아참!, 그림판0과 그림판1은 서로 비교할 그림입니다.
그림판0.그림빼(그림판1.그림);
→ 일단 한번 이렇게 하시고 실행해보세요. 이 명령어를 실행하면 같은그림이면 그림판이 까맣게 될 것입니다. 만일 다른 그림이라면 다른 부분이 하얗게 나오고요, 만일 그림의 높이와 폭이 다르다면 이 명령어를 실행해도 아무런 변화가 없습니다.
그리고, 반복문을 이용해서 하얀부분이 있는지 검사를 하는거죠. (같은 부분은 검은색으로 나오고, 다른부분은 하얗게 나오는 거죠.)
그림판0.그림.배경.점제어(X, Y, -1);
-1은 (X,Y)좌표의 색상값을 얻어오라는 겁니다.
반복문을 이용해서 검사를 하다가 만일 하얀좌표가 하나라도 나오게 된다면 그건 서로 다른 부분이 있다라는 겁니다. |
|
|
강현구 2009-02-20 PM 9:41:54 |
|
|
|
픽셀별로 하나씩 비교하면 되겠죠
GetPixel이라는 윈도우 함수 쓰시면 되겠고.. 근데 그림판의 DC를 얻어올 수 있을지 모르겠네요 |
|
|
강현구 2009-02-20 PM 9:42:30 |
|
|
|
그런 방법이 있었군요.. |
|
|
박종훈 2009-02-20 PM 10:03:55 |
|
|
|
실수: 수X, 수Y;
진리: 동일여부;
동일여부 := 참;
// 일단은 그림이 같다라고 가정을 하고 출발합니다.
반복 {
반복 {
만일(그림판0.그림.배경.점제어(수X, 수Y, -1) 0) 동일여부 := 거짓;
수X := 수X + 1;
같이실행해;
} 까지((수X >= 그림판0.그림.폭) 또는 (부정 동일여부));
수X := 0;
수Y := 수Y + 1;
같이실행해;
} 까지((수Y >= 그림판0.그림.높이) 또는 (부정 동일여부));
만일(동일여부) 문자창보여("같아");
아니면 문자창보여("달라");
-----------------------------------------------
위와 같이 명령어를 사용하시면 될것같습니다. (정확한 테스틑 못해봤네요^^; 간단하게만 테스트해본지라ㅠㅠ) 혹시 오류가 있을지도 몰라요; 틀린그림인데 맞다고 하더나 ... 맞는 그림인데 틀리다고 하거나;;
그런데.. 반복문이 쓰여서 일단 속도가 대단히 느리네요 ㅠㅠ
GetPixel도 있고요, 창조의 ㅎ그림판.그림.배경.점제어() 라는 명령어도 있습니다.
아참, 다른 방법으로는 강현구님의 말씀처럼, 픽셀별로 대조해서 배교하는 방법도 있습니다. (방법은 여러가지이니 편하신데로 사용하시면 됩니다.)
강현구님께서 GetPixel을 추천합니다^^
[그림판.그림빼]를 이용해도 어차피;;;; 픽셀 비교를 하니까;; |
|
|
박종훈 2009-02-20 PM 10:06:18 |
|
|
|
-----------------------------------------------
정리하자면 이렇습니다.
1. 그림의 높이와 폭이 같은지 검사한다.
▶ 다르다면? 당연히 다른그림이다.
▶ 같다면? 다음 명령을 수행해서 진짜 같은지 확인한다.
2. 각 그림별로 픽셀을 비교한다.
▶ 그림판.그림.점제어(X, Y, -1); 을 이용해서, 두 그림의 각각의 픽셀의 색상을 검사하면서 같은지 확인한다.
▷ 같다면? 두 그림은 같은 그림이다.
▷ 다르다면? 두 그림은 다른 그림이다. |
|
|
강정훈 2009-02-20 PM 10:27:34 |
|
|
|
흐~! 감사합니다.
이제 한가지 해결 했어요...이문법은 마눌이 만들어달라는게 있어서 ㅜㅜ 션찬은 실력이라..도움청했어요.....눈물이 눈물이~끝내줘요. |
|
|
신용주 2009-02-21 AM 8:42:54 |
|
|
|
인터넷에서, 비슷한 얼굴 찾기 프로그램 같은 거는 방법이 어떻게 되는지? |
|
|
박종훈 2009-02-21 PM 1:47:41 |
|
|
|
얼굴 찾는 프로그램의 소스를 본적은 없는데, 구현하기 까다로울것 같아요~;
얼굴 윤곽을 찾아서 뭐 그렇게 비교를 하텐데(아닐수도 있고요^^;) |
|
|
강정훈 2009-02-21 PM 6:55:32 |
|
|
|
3번과 6번 줄에 에러.............허거덩~! |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|