ABAP, ActionScript, Ada, ADSO/IDSM, AMPLE, ant, Apex Trigger, Arduino Sketch, ASP, ASP.NET, Assembly, autohotkey, awk, blank, Bourne Again Shell, Bourne Shell, C, C shell, c#, C++, C/C++ Header, C:\Windows, CCS, choco, chocolatey, cloc, cloc-1.62.exe, cloc-1.62.pl, cloc.exe, Clojure, ClojureScript, cmake, COBOL, CODE, CoffeeScript, coldfusion, ColdFusion CFScript, COMMENT, css, CUDA, cython, d, Dal, dart, DOS Batch, dtd, ECPP, erlang, expect, F#, focus, fortran 77, Fortran 90, fortran 95, Go, Grails, Groovy, Haml, Handlebars, harbour, Haskell, HLSL, HTML, IDL, install, InstallShield, Java, javascript, JavaServer Faces, JCL, JSON, jsp, kermit, Korn Shell, Kotlin, less, LEX, LISP, Lisp/OpenCL, LiveLink OScript, LUA, M4, make, matlab, maven, Modula3, MSBuild script, mumps, Mustache, MXML, NAnt script, NASTRAN DMAP, Objective C, Objective C++, Ocaml, Oracle Forms, oracle reports, pascal, Pascal/Puppet, Path, Patran Command Language, perl, php, PHP/Pascal, Pig Latin, PL/I, PowerShell, python, QML, r, Racket, Razor, Rexx, RobotFramework, ruby, Ruby HTML, rust, SASS, Scala, sed, Skill, SKILL++, SMARTY, Softbridge Basic, sourceforge, SQL, SQL Data, SQL Stored Procedure, strip-comments, Swift, Tcl/Tk, Teamcenter met, Teamcenter mth, TypeScript, Unity-Prefab, Vala, Vala Header, Velocity Template Language, Verilog-SystemVerilog, VHDL, vim script, Visual Basic, Visualforce Component, Visualforce Page, Windows Message File, Windows Module Definition, Windows Resource File, WiX include, WiX source, WiX string localization, XAML, xBase, xBase Header, xml, xquery, xsd, XSLT, yacc, YAML, 라인수, 코드

이전 포스팅에서 powershell 을 사용한 코드 라인수 세기 방식에 대해 소개한 적이 있는데요~

 

http://iamaman.tistory.com/1577

 

검색을 해보니 역시나…… cloc 라는 프로그램이 있더군요.

 

cloc 의 홈 페이지는 아래와 같습니다.

 

http://cloc.sourceforge.net/

 

또는 이전에 소개했던 Chocolatey 을 사용하여 아래와 같이 설치 할 수 도 있더군요.

 

choco install cloc

 

다운로드 주소는 아래와 같습니다.

 

http://sourceforge.net/projects/cloc/files/cloc/


현재 최신 버전은 1.62 입니다.

 

 

현재 저는 윈도우 64비트를 사용 중이라 위 그림과 같은 페이지에서 cloc-1.62.exe 을 다운로드 받았습니다.


Perl 에 관심이 있는 분들은 cloc-1.62.pl 파일을 다운로드 받아서 소스를 살펴보는 것도 좋은 공부가 될 듯 하네요.

 

다운로드 받은 cloc-1.62.exe 파일을 cloc.exe 라는 이름의 심볼릭 링크로 해서 C:\Windows 와 같이 path 로 설정된 폴더에 넣거나 cloc.exe 로 파일명을 변경 한 후에 path 로 설정된 폴더에 넣습니다.

 

사용법은 굉장히 간단한데요~

 

CMD 창을 연 다음 아래 그림과 같이 cloc 파일명을 넣어 주고 엔터를 때리면~ 각 확장자 별로 code, blank, comment 줄 수 별로 카운트를 해서 목록으로 알려 줍니다.

 

 

위에 그림은 C++ 파일과 헤더 파일 MATLAB 파일의 Code, Blank, Comment 줄 수를 나타내 주는 것을 확인 할 수 있습니다. cloc 는 아래 주소에서 확인 할 수 있는 바와 같이 정말 다양한 언어에 대해 줄 수를 파악해 줍니다.

 

http://cloc.sourceforge.net/#Languages

 

ABAP, ActionScript, Ada, ADSO/IDSM, AMPLE, Ant, Apex Trigger, Arduino Sketch, ASP, ASP.Net, Assembly, AutoHotkey, awk, Bourne Again Shell, Bourne Shell, C, C Shell, C#, C++, C/C++ Header, CCS, Clojure, ClojureScript, CMake, COBOL, CoffeeScript, ColdFusion, ColdFusion CFScript, CSS, CUDA, Cython, D, DAL, Dart, DOS Batch, DTD, ECPP, Erlang, Expect, F#, Focus, Fortran 77, Fortran 90, Fortran 95, Go, Grails, Groovy, Haml, Handlebars, Harbour, Haskell, HLSL, HTML, IDL, InstallShield, Java, Javascript, JavaServer Faces, JCL, JSON, JSP, Kermit, Korn Shell, Kotlin, LESS, lex, Lisp, Lisp/OpenCL, LiveLink OScript, Lua, m4, make, MATLAB, Maven, Modula3, MSBuild script, MUMPS, Mustache, MXML, NAnt script, NASTRAN DMAP, Objective C, Objective C++, OCaml, Oracle Forms, Oracle Reports, Pascal, Pascal/Puppet, Patran Command Language, Perl, PHP, PHP/Pascal, Pig Latin, PL/I, PowerShell, Python, QML, R, Racket, Razor, Rexx, RobotFramework, Ruby, Ruby HTML, Rust, SASS, Scala, sed, SKILL, SKILL++, Smarty, Softbridge Basic, SQL, SQL Data, SQL Stored Procedure, Swift, Tcl/Tk, Teamcenter met, Teamcenter mth, TypeScript, Unity-Prefab, Vala, Vala Header, Velocity Template Language, Verilog-SystemVerilog, VHDL, vim script, Visual Basic, Visualforce Component, Visualforce Page, Windows Message File, Windows Module Definition, Windows Resource File, WiX include, WiX source, WiX string localization, XAML, xBase, xBase Header, XML, XQuery, XSD, XSLT, yacc, YAML

 

--strip-comments 같은 옵션을 사용하면 comment 을 지울 수도 있더군요. 외부에 코드를 보낼 때 종종 활용하게 될 것 같네요.


저는 C/C++ 을 주로 수치연상 용도로 사용하다 보니 코딩을 하면서 Matrix 나 Vector 연산을 많이 하게 되는데요~

 

이런 선형대수 관련 라이브러리들을 찾아보니 아래 주소의 글이 나오더군요.

 

아래 주소의 글은 linear algebra 라이브러리들의 특징을 비교해 놓은 페이지 인데요~

 

http://en.wikipedia.org/wiki/Comparison_of_linear_algebra_libraries

 

예전에 알고 있었던 BLAS, GSL(GNU Scientific Library), LAPACK 뿐만 아니라 최근에는 Armadillo를 많이들 사용하는 것 같더군요.

 

C++ 로 구성되어 있고~ 비교적 가장 최근에 나와서 사용하기도 편리할 것 같아서 한번 설치해 봤습니다.

 

현재 제 컴퓨터 환경은 Linux Mint 이고~ Armadillo의 공식 홈페이지는 다음과 같습니다.

 

http://arma.sourceforge.net/

 

아래 주소에서 가장 최신의 버전을 다운로드 받았습니다.

 

http://arma.sourceforge.net/download.html

 

현재의 가장 최신 버전은 armadillo-3.920.3.tar.gz 이더군요.

 

다운로드 받고 압축을 푼 후에 README.txt 파일을 확인해 보니 설치 방법이 나와 있더군요.

 

Armadillo설치는 위해서 cmake 가 일단 있어야 하고~~

 

BLAS, LAPACK, Boost, ATLAS 라이브러리가 미리 설치하길 추천하더군요.

 

그래서 다음과 같이 해당 툴과 라이브러리들을 설치 했습니다.

 

sudo apt-get install cmake libblas-dev liblapack-dev libboost-dev  libatlas-dev   -y

 

다음으로 터미널에서 Armadillo를 압축 해제한 폴더로 이동해서~ README.txt 에 있는데로 아래 명령을 순서대로 타이핑했습니다. 쉽게 쉽게 깔리더군요.

 

cmake .

make

sudo make install

 

이제 Codeblocks IDE 를 열어서~ 아래 주소의 예제 코드를 이용해서 프로젝트를 만든 다음에~

 

http://arma.sourceforge.net/docs.html#example_prog

 

 

Build option 에 들어가서 다음과 같이 armadillo라고 library link 를 정했습니다.

 

 

이제 설정은 다 했고~실행 해 보니~~ 다음과 같이 깔끔하게 시행되더군요.

 

아래 주소에서는 Matlab/Octave 와 Armadillo 의 문법을 비교하던데… 정말 Matlab/Octave 처럼 문법이 무지하게 간단하더군요.

 

http://arma.sourceforge.net/docs.html#syntax

 

잘 써봐야겠네요~



오늘은 오픈 소스 컴퓨터 비전 C 라이브러리인 OpenCV 를 윈도우에 설치하고, 사용하는 방법에 대해 설명해 보려 합니다.

 

환경에 따라 약간씩 다르겠지만, 설치 방법은 대동 소이 할 것이라고 생각됩니다.

 

참고로 금일의 포스팅은 아래 주소의 설치법을 참조하였습니다.

 

http://blog.eyalarubas.com/2012/10/23/opencv-installation-on-windows-netbeans-mingw/

 

현재 저의 컴퓨터 환경은 Windows 7 64 bits, MinGW 64 bits 입니다.

 

64 비트 MinGW 를 사용하고자 하시는 분은 아래 주소 참조하여 설치 하시기 바립니다.

  

2013/06/06 - [유틸] - MinGW 64bits 설치

 

다음으로 Cmake 가 필요합니다. Cmake 는 아래 주소에서 다운로드 받으시기 바랍니다.

 

http://www.cmake.org/cmake/resources/software.html

 

윈도우의 경우 위 그림과 같이 exe 또는 zip 파일을 다운로드 받으시면 됩니다. Install 하고 싶으신 분은 exe 파일을 받으시고~~

 

그냥 다운로드 해서 사용하실 분들은 zip 파일을 다운로드 하시면 됩니다.

 

다음으로 가장 중요한 OpenCV 를 다운로드 하셔야죠~ 아래 주소에서 각자 운영체제에 맞는 설치 파일을 다운로드 받으시기 바랍니다.

 

http://opencv.org/downloads.html

 

저는 Windows 환경이라~ 아래 그림과 같이 다운로드 했습니다.

 

 

다운로드 한 OpenCV-2.4.5.exe 파일을 실행시키고 아래 그림처럼 C:\ 에 압축을 풉니다. 그럼 C:\opencv 라는 폴더가 생성됩니다.

 

C:\opencv\release 라는 폴더를 하나 만듭니다.

 

이제 설치를 위한 준비는 마무리 됐습니다.

 

Cmake 를 실행시키고~ 아래 그림과 같이 설정 합니다.

 

Configure 는 아래 그림과 같이 MinGW Make MakeFiles 로 설정 하고 Finish 를 클릭합니다.

 

아래 그림처럼 Configuring done 이 뜨면 Generate 버튼을 눌러서 Makefile 을 만듭니다.

 

아래 그림처럼 Generating done 이 뜨면 makefile 까지 만들어진 것이고~ CMake 사용은 끝난겁니다.

 

이제 cmd 창을 열고 C:\opencv\release 폴더로 이동합니다.

 

아래 그림처럼 mingw32-make 라고 타이핑 후 엔터를 치면~~ build 를 시작합니다. 컴터에 따라 다르겠지만, 시간이 좀 걸리니 느긋이 기다리시면 되겠습니다.

 

아래 그림처럼 build 가 완료되었으면 이제 C:\opencv\release\bin 폴더를 환경변수path 에 등록합니다.

 

이제 잘 설치가 됐는지~ 예제를 한번 실행해보죠.

 

Codeblocks 에서Settings → Compiler 에서 아래 그림과 같이 셋팅 합니다.

 

코드는 위 참조 링크에 잇는 코드를 아래와 같이 사용했습니다.

 

#include "opencv2/opencv.hpp"

#include "opencv2/highgui/highgui.hpp"

 

using namespace cv;

 

int main(int argc, char** argv) {

 

    //create a gui window:

    namedWindow("Output",1);

 

    //initialize a 120X350 matrix of black pixels:

    Mat output = Mat::zeros( 120, 350, CV_8UC3 );

 

    //write text on the matrix:

    putText(output,

            "Hello World :)",

            cvPoint(15,70),

            FONT_HERSHEY_PLAIN,

            3,

            cvScalar(0,255,0),

            4);

 

    //display the image:

    imshow("Output", output);

 

    //wait for the user to press any key:

    waitKey(0);

 

    return 0;

 

}

 

프로젝트를 오른쪽 클릭해서 아래 그림처럼 build option 에 들어갑니다.

 

그리고 다음과 같이 설정합니다.

 

compiler path : C:\opencv\build\include

 

Linker path : C:\opencv\release\lib

 

Link libraries : opencv_core245.dllopencv_highgui245.dll

 

이제 모든 과정이 끝났습니다. CodeBlocks IDE 에서 F9 를 눌러서 Build and Run 시키면~~ 아래 그림과 같은 결과를 볼 수 있습니다.


  1. 로마인 2014.09.21 19:41

    안녕하세요.
    openCV 설치하려고 하는데
    Cmake 실행 후 configure를 누르면
    'Error in configuration process, project files may be invalid'라고 나옵니다.
    어떻게 하면 해결할 수 있나요?
    아 전 visual studio 2010 설치했습니다.

    • 남성 2014.09.21 19:46 신고

      cmake 사용시 source code 폴더 위치 등은 정확히 설정 하신건가요?

      저는 mingw 로만 해봤고 저런 에러가 난적이 없어서 정확한 답변은 드릴수 없을것 같네요.

  2. 최용운 2015.08.04 09:59

    에러없이 잘 설치되었나요? cmake 파일에서 자꾸 에러가 나네여.. cmakelist 파일이 없다해서 opencv 폴더에 복사해줬더니
    다시 설치하다가 또 무신 파일이없다고 설치가 안되네여,거참 opencv 2.4.3 버젼깔면 폴더에 무슨파일이있나요? 저는 코드블록 밍 모두 32비트로 설치가 되어서 그걸로 했고 opencv 2.4.9.2.4.10 모두 해봤지만 계속 에러때문에 못사용합니다. 비주얼스튜디오가 안깔려서 이걸로 opencv 를 하려고 하는데 골치네여

  3. 최용운 2015.08.04 11:34

    휴~ 간신이 opencv 2.4.4 를 구해 cmake 까지 끝났는데 cmd 도스창서 ming32-make 를 인식못하네여 path 가 잘못 되었나?? 이거 설치 잘 되셨어여?
    정말 머리아프네..

    • 남성 2015.08.04 12:59 신고

      ming32-make 가 아니고 mingw32-make 인데요. 일단 오타아닌지 확인해 보시고 이후에 path 제대로 설정 된건지 확인해 보세요 path 만 제대로 되어있으면 mingw32-make 는 당연히 인식 되야 됩니다.

  4. dd 2016.10.07 01:59

    관리자의 승인을 기다리고 있는 댓글입니다

책 보면서 cmake 따라 해 보다가

 

아래 문자와 같은 에러를 만났습니다.

 

 

CMAKE_CXX_COMPILER-NOTFOUND

 

 

책에 하라는 데로 똑같이 따라 했는데.. 저런 에러를 만나니 무지하게 당황 되더군요.

 

책에는 저런 에러 없었는데 말이죠. ㅋㅋ

 

그래서 구박사에 질문을 하니 역시.. 답변이 있더군요.

 

위 에러는 빌드 툴이 없어서 그런거라네요.

 

그래서 다음과 같은 터미널 명령어로 build-essential 을 설치해 줘야 한다는 군요.

 

 

sudo apt-get install build-essential -y

 

 

이후에는 cmake 가 정상적으로 되더군요.


+ Recent posts