Programming/openCV2015. 10. 5. 11:35

대충 이렇게 쓰면 되려나?

void CallBackFunc_Mouse(int event, int x, int y, int flags, void* userdata)

{

switch(event)

{

case EVENT_MOUSEMOVE:

//x,y

break;

case EVENT_LBUTTONDOWN:

case EVENT_LBUTTONUP:

case EVENT_RBUTTONDOWN:

case EVENT_RBUTTONUP:

case EVENT_MBUTTONDOWN:

case EVENT_MBUTTONUP:

case EVENT_LBUTTONDBLCLK:

case EVENT_RBUTTONDBLCLK:

case EVENT_MBUTTONDBLCLK:


// case EVENT_MOUSEWHEEL:

// case EVENT_MOUSEHWHEEL:

}

}


setMouseCallback("My Window", CallBackFunc_Mouse, NULL); 


2.4.1 에서는 마우스 휠 이벤트가 없다. 3.0.0 부터 지원하는 듯

error: ‘EVENT_MOUSEWHEEL’ was not declared in this scope

error: ‘EVENT_MOUSEHWHEEL’ was not declared in this scope


---



enum   cv::MouseEventFlags

  cv::EVENT_FLAG_LBUTTON = 1, 

  cv::EVENT_FLAG_RBUTTON = 2, 

  cv::EVENT_FLAG_MBUTTON = 4, 

  cv::EVENT_FLAG_CTRLKEY = 8, 

  cv::EVENT_FLAG_SHIFTKEY = 16, 

  cv::EVENT_FLAG_ALTKEY = 32 

}

 

enum   cv::MouseEventTypes

  cv::EVENT_MOUSEMOVE = 0, 

  cv::EVENT_LBUTTONDOWN = 1, 

  cv::EVENT_RBUTTONDOWN = 2, 

  cv::EVENT_MBUTTONDOWN = 3, 

  cv::EVENT_LBUTTONUP = 4, 

  cv::EVENT_RBUTTONUP = 5, 

  cv::EVENT_MBUTTONUP = 6, 

  cv::EVENT_LBUTTONDBLCLK = 7, 

  cv::EVENT_RBUTTONDBLCLK = 8, 

  cv::EVENT_MBUTTONDBLCLK = 9, 

  cv::EVENT_MOUSEWHEEL = 10, 

  cv::EVENT_MOUSEHWHEEL = 11 

}


[링크 : http://docs.opencv.org/master/d7/dfc/group__highgui.html#gsc.tab=0] 


void CallBackFunc(int event, int x, int y, int flags, void* userdata)

{

     if  ( event == EVENT_LBUTTONDOWN )

     {

          cout << "Left button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;

     }

     else if  ( event == EVENT_RBUTTONDOWN )

     {

          cout << "Right button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;

     }

     else if  ( event == EVENT_MBUTTONDOWN )

     {

          cout << "Middle button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;

     }

     else if ( event == EVENT_MOUSEMOVE )

     {

          cout << "Mouse move over the window - position (" << x << ", " << y << ")" << endl;


     }

}


setMouseCallback("My Window", CallBackFunc, NULL);


[링크 : http://opencv-srf.blogspot.kr/2011/11/mouse-events.html] 


void onMouse( int event, int x, int y, int, void* )

[링크 : https://github.com/Itseez/opencv/blob/master/samples/cpp/ffilldemo.cpp]

    [링크 : http://docs.opencv.org/modules/highgui/doc/user_interface.html#setmousecallback] 

 

2015/09/25 - [Programming/openCV] - opencv2 마우스 이벤트 / 클릭 위치


Posted by 구차니




[링크 : http://supcom.wikia.com/wiki/Supreme_Commander:_Forged_Alliance]


인구수는 건물+유닛 -_ㅠ

극단적으로 가면.. 생산효율을 위해서

T1 에너지 저장소 + T3 발전소 이런 뻘짓 보다는

그냥 발전소 더 짓는게 낫다는것 -_-a


[링크 : http://gaming.stackexchange.com/questions/185187/how-is-unit-limit-calculated]


확신은 없지만.. 공격 방향에 대해서 수평하게 짓는게 유리할 지도..

예를 들어 북에서 남쪽으로 공격할때 실드가 동에서 서로 무리를 지으면

겹쳐지는 부분에서 두개가 동시에 데미지 들어가는 느낌이었는데.. 아무튼 간격을 두고 단계별로 꺠지게

해야 좀더 효율이 오르려나?

[링크 : http://supcom.wikia.com/wiki/Shield_generator]

Posted by 구차니
개소리 왈왈/블로그2015. 10. 5. 08:50

결론은 싫으면 떠나던가 인가? -_-

암튼.. 블로그 슬슬 손을 놓고

독립 사이트로 단장해서 떠나던지 해야지..

언넝 위키에 박차를 가해야 겠다  -_-




'개소리 왈왈 > 블로그' 카테고리의 다른 글

다음 쪽지 종료 공지  (0) 2015.10.28
카카오 티스토리...  (0) 2015.10.07
방문자 급감 ㅠㅠ  (0) 2015.09.17
싸이월드 새단장?? 서비스 종료?  (0) 2015.09.14
기분전환겸 스킨 변경  (0) 2015.09.04
Posted by 구차니

....

한판에 2시간.. 거의 4번 넘게 져서 짜증이빠이 -_-


처음에 시작하자 마자 머 만들라고 하면 소소하게 계속 적이 쳐들어 오고

조금만 지나면 T2로 털러 오고..

극초반에는 적 일뿐으로 날 공격하지 않나 아오.. -_-



겨우겨우 다 넘기고 마지막 지도 확장 갔더니

사방이 적인데 방어 시스템 부재와 본진에서 병력 전부 이동시켜놔서 GG


아놔...

어찌어찌 끝!


적군 엔지니어 와서 그걸 강탈한 다음

나중에 시간을 들여 실험급 무기 왕창 생산 ㅋㅋㅋ























Posted by 구차니
Programming/openCV2015. 10. 3. 22:13

아.. 이런 원리인가!

template matching 방법을 정해주고

나온 이미지를 normalize 해서 0과 1로 출력하게 하고

minMaxLoc으로 매칭되는 부분을 찾고(포인트 단위)

원본 템플릿 이미지의 폭을 이용해서 박스를 그려준다.


+

normalize 된걸 출력해봤는데 

SQDIFF / TM CCORR 은 출력되는게 없고(normalize 되지 않아서 그런 듯)

SQDIFF NORMED / TM CCORR NORMED / TM COEFF / TM COEFF NORMED 만 나온다

+


Mat img;

Mat templ;

Mat result;

int match_method; // 6가지 종류의 매칭 방법(0~5)

double minVal; double maxVal; Point minLoc; Point maxLoc;


img = imread( argv[1], 1 );

templ = imread( argv[2], 1 );

    matchTemplate( img, templ, result, match_method );

    normalize( result, result, 0, 1, NORM_MINMAX, -1, Mat() );

    minMaxLoc( result, &minVal, &maxVal, &minLoc, &maxLoc, Mat() );


    if( match_method  == CV_TM_SQDIFF || match_method == CV_TM_SQDIFF_NORMED )

        { matchLoc = minLoc; }

    else

        { matchLoc = maxLoc; }


    rectangle( img_display, matchLoc, Point( matchLoc.x + templ.cols , matchLoc.y + templ.rows ), Scalar::all(0), 2, 8, 0 );

    rectangle( result, matchLoc, Point( matchLoc.x + templ.cols , matchLoc.y + templ.rows ), Scalar::all(0), 2, 8, 0 );


[링크 : http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html]


C++: void matchTemplate(InputArray image, InputArray templ, OutputArray result, int method)

[링크 : http://docs.opencv.org/modules/imgproc/doc/object_detection.html#matchtemplate] 


C++: void normalize(InputArray src, OutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() )

C++: void normalize(const SparseMat& src, SparseMat& dst, double alpha, int normType)

[링크 : http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#normalize] 


C++: void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, InputArray mask=noArray())

C++: void minMaxLoc(const SparseMat& a, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0 )

[링크 : http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#minmaxloc] 


'Programming > openCV' 카테고리의 다른 글

opencv 마우스 이벤트와 빠르게 그리기  (0) 2015.10.05
opencv 마우스 이벤트 관련 2  (0) 2015.10.05
opencv neon 최적화  (0) 2015.10.01
openCV 템플릿 매칭 예제 실행  (0) 2015.10.01
opencv 버전들  (0) 2015.09.30
Posted by 구차니

와.. 정말 미친듯한 지도라고 밖에.. 설명 할 수가 없네..

아무튼 주말을 맞이하여 미친듯이 달려보는데.. 끄응..



그래 이정도 크기는 웃어 줄수 있....


세라핌 꺼 왜케 폼나? ㄸㄷㄷ


먼가 위험한 시험급 폭격기라는데 언넝 털으란다.


귀찮아서 함선 포격으로 2마리 털고..

그런데도 아직 남았다고 갈궈댄다 -_-


maven 완공 ! 발사!


5마리.. 한마리 남았!!!



프린세스가 있으면 수도일텐데.. 겁나 털렸나보네 ㄷㄷㄷ



맵 사이즈에 환장했나... ㄷㄷㄷ

적은 또 드럽게 많잖아!? ㄷㄷㄷ


앞 판에서 본 녀석 같은데.. 암튼 털고



인해전술은 무서운거임.. 그러니까 나도 인해전술 ㅋ



아.. unit 에서 봐야하는건가!! 교환비는?! ㅠㅠ


Posted by 구차니

2번째 미션


처음부터 커맨더 공격당하는 상황 -_-

물론 약한 애들이니 털어주면서 공간을 확보하는데..


T1 T2 T3 엔지니어 집합!


처음에는 위에다가 기지 했다가 이래저래 털리고

나중에는  AEON  기지 근처에서 시작해서 확장하는 식으로 변경 ㅠㅠ


히에엑 미친 맵 ㅠㅠ

와.. 저 미친 적군 ㅠㅠ


얘가 쏴도 쏴도 애들이 안 줄음.. ㄷㄷㄷ


여기에 아군 포로가 있으니 엔지니어 보내서 capture 하란다..

아.. 귀찮아 ㅠㅠ



사이브란 녀석이 나랑 척을 쳤는지 겁나 털려는데


프린세스(어? 전편에서 마지막에 안죽었...?) 등장해서 갈구더니


와.. 미친 콜러서스 + 스파이더 봇 한.. 다 합쳐서 10마리? ㄷㄷㄷ


정신갈굼 +1



정체성을 꺠달았어!!! 난 너네편이야!


덕분에 콜러서스 몇마리는 몽키로드가 잡아준다. ㄷㄷㄷ




지들끼리 핵샤워 -_-a


패트리어트 발사(!)


와.. 시.... 겁나 커 지젼커 ㄷㄷㄷ


QAI가 먼가 이상한 소리를 하네.. 얘 고장났나?


얘네 공격을 방어하라는데 크아.. 미친 인해전술 ㄷㄷ


컥.. 소울 리퍼다 ㄷㄷㄷ


암튼 귀차니즘으로 한넘만 패서 


쥬거라!!!  근데 난 안쥬금 ㅋㅋ 이러는 QAI -_-


어? 세라핌을 납치하나?




방어에 철저해서 1:5 정도 교환비?


Posted by 구차니

부업을 해야하나....

돈 나올 구멍을 파는 수 밖에 없는 건가...



후....

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

몸이 낫질 않네...  (0) 2015.10.31
시간 빠르다..  (0) 2015.10.10
8월 끝  (0) 2015.08.31
애본다 바빠 ㅠㅠ  (0) 2015.08.22
경복궁 / 창덕궁 야간개장 예매 준비!  (0) 2015.08.05
Posted by 구차니
embeded/ARM2015. 10. 1. 16:59

확실히. SIMD쪽이 DSP 보다는 명령어가 먼가.. 파워풀 해보이는 기분?


ARM9 dsp

[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dvi0022a/ar01s02s14.html]


ARM11 simd

[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/Caccebch.html]


Parallel add /subtract

Sign/zero extend and add

Signed multiply and multiply, accumulate

Saturate, select, and pack

네가지 종류의 명령어가 SIMD로 추가된 듯?

[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491i/CJADHCJE.html]

'embeded > ARM' 카테고리의 다른 글

jtag과 swd  (0) 2015.12.14
비글본 github 저장소  (0) 2015.10.30
arm11 simd instruction  (0) 2015.10.01
cortex-A5/A7  (0) 2015.09.21
cortex-m 시리즈와 포화연산  (0) 2015.08.26
Posted by 구차니
embeded/ARM2015. 10. 1. 16:41

그나저나..ARM11의 SIMD 명령어 셋 목록 구하기 어렵네..

무슨 차이가 있나 보려고 했더니..


ARMv6 SIMD Features:

 75% performance increase for audio and video processing

 Simultaneous computation of 2x16-bit or 4x8-bit operands

 Fractional arithmetic

 User definable saturation modes (arbitrary word-width)

 Dual 16x16 multiply-add/subtract 32x32 fractional MAC

 Simultaneous 8/16-bit select operations

 Performance up to 3.2 GOPS at 800MHz

 Performance is achieved with a "near zero" increase in power consumption on a typical implementation

[링크 : http://www.arm.com/products/processors/technologies/dsp-simd.php]




[링크 : http://elinux.org/images/4/40/Elc2011_anderson_arm.pdf]




[링크 : https://web.eecs.umich.edu/~prabal/teaching/eecs373-f10/readings/ARM_Architecture_Overview.pdf]


오예 찾았다

__qadd16 intrinsic

__qadd8 intrinsic

__qasx intrinsic

__qsax intrinsic

__qsub16 intrinsic

__qsub8 intrinsic

__sadd16 intrinsic

__sadd8 intrinsic

__sasx intrinsic

__sel intrinsic

__shadd16 intrinsic

__shadd8 intrinsic

__shasx intrinsic

__shsax intrinsic

__shsub16 intrinsic

__shsub8 intrinsic

__smlad intrinsic

__smladx intrinsic

__smlald intrinsic

__smlaldx intrinsic

__smlsd intrinsic

__smlsdx intrinsic

__smlsld intrinsic

__smlsldx intrinsic

__smuad intrinsic

__smuadx intrinsic

__smusd intrinsic

__smusdx intrinsic

__ssat16 intrinsic

__ssax intrinsic

__ssub16 intrinsic

__ssub8 intrinsic

__sxtab16 intrinsic

__sxtb16 intrinsic

__uadd16 intrinsic

__uadd8 intrinsic

__uasx intrinsic

__uhadd16 intrinsic

__uhadd8 intrinsic

__uhasx intrinsic

__uhsax intrinsic

__uhsub16 intrinsic

__uhsub8 intrinsic

__uqadd16 intrinsic

__uqadd8 intrinsic

__uqasx intrinsic

__uqsax intrinsic

__uqsub16 intrinsic

__uqsub8 intrinsic

__usad8 intrinsic

__usada8 intrinsic

__usax intrinsic

__usat16 intrinsic

__usub16 intrinsic

__usub8 intrinsic

__uxtab16 intrinsic

__uxtb16 intrinsic.

[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491i/CJADHCJE.html]

'embeded > ARM' 카테고리의 다른 글

비글본 github 저장소  (0) 2015.10.30
arm9 dsp / arm11 simd instuction 비교?  (0) 2015.10.01
cortex-A5/A7  (0) 2015.09.21
cortex-m 시리즈와 포화연산  (0) 2015.08.26
ARM926EJ / ARMv5TE  (0) 2015.07.28
Posted by 구차니