2018년 2월 26일 월요일

[opencv] blob 관련 설명 블로그

https://www.learnopencv.com/blob-detection-using-opencv-python-c/

[wpf] 윈도우 스타일 none으로 설정후 맨위에 흰줄 남는거 제거 방법

https://stackoverflow.com/questions/36631165/how-to-remove-white-strip-on-top-of-wpf-window-with-windowstyle-none/36631416


ResizeMode="CanResizeWithGrip" AllowsTransparency="True"

이 옵션 추가하자

[python] opencv SIFT 함수 사용법

일반적으로 아나콘다에서 opencv설치시 이 함수는 포함이 안되어 있다.

먼저
https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

여기서


이파일을 다운 받는다. 
이 파일은 파이썬 3.5 에 contrib이 포함되어 있다. 

이 contrib 에 sift등의 함수들이 포함되어있다. 


conda uninstall opencv 및 
혹시  pip에 opencv-python이 깔려잇으면 지워준다. 
pip uninstall opencv-python 으로.. 

다운 받은 폴더에 가서 

pip install  파일명 

으로 설치를 한다. 

혹시 import cv2  에서  numpy 관련 에러 나올시 

pip install --upgarde numpy
 
로 업글한다. 


[WPF] Hidden window instead of closing window

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
Visibility = Visibility.Collapsed;
}

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
this.Hide();
}

2018년 2월 21일 수요일

docfx 사용법

1.비주얼 스튜디오 내에서 폴더 만들고,

toc.md를 만들어서 헤드 상단 메뉴를 추가할 수 있다.
(md파일은 빌드시 자동으로 html파일로 바뀐다. )

추가한 폴더에 roc.md 에는 다음과 같이 사이드 메뉴를 추가할 수 있다.
메뉴이름. 바인딩 파일 (같은 폴더)
#[mmm1](menu1.md)
#[mmm2](menu2.md)



2.그 후에는 탑레벨 폴더의
toc.yml에 다음을 추가해 준다.


- name: Articles
  href: articles/
- name: API Documentation
  href: obj/api/
- name: ScondMenu 상당 바 메뉴에서 표시될 이름
  href: Second/  폴더이름
  homepage: api/index.md


탑레벨의  Index.md파일은 홈페이지 대문 페이지 이다. 



3. 추가한 폴더에 메뉴 대문용 페이지파일은 만든다. 
ex: intro.md

 
4. 빌드후 _site폴더에 toc.html 을 편집하자. 

여기에 보면 


 
   
     
       
       
     
   
   
     
          
         
           
  •               Articles
               
               
  •               API Documentation
               
               
  •               ScondMenu
               
             
         
       
     

    저부분이 멋대로 써져있는데 이부분은 _site/Second 폴더안의 파일로 바꿔 줘야 한다. 

    bref는 대문용 페이지를 , name 은 toc.html로 바꾼다. 

    그러면 끝
    r

    2018년 2월 18일 일요일

    task cancelation

    void Main()
    {
        Thread thread = null;
    
        Task t = Task.Run(() => 
        {
            //Capture the thread
            thread = Thread.CurrentThread;
    
            //Simulate work (usually from 3rd party code)
            Thread.Sleep(1000);
    
            //If you comment out thread.Abort(), then this will be displayed
            Console.WriteLine("Task finished!");
        });
    
        //This is needed in the example to avoid thread being still NULL
        Thread.Sleep(10);
    
        //Cancel the task by aborting the thread
        thread.Abort();
    }