반응형

CVUI를 사용하여 OpenCV의 사진에다가 UI를 넣을려고 하는데

내가 코드에 쓰는 CVUI 함수들 마다 다 저딴 오류가 뜬다..

 

이거 그냥 간단하게 해결이 가능하다.

 

해결

상단에 #define "cvui.h" 하기전에 #define CVUI_IMPLEMENTATION이것만 추가하면 된다.

 

#include "cvui.h"

이걸 이렇게

#define CVUI_IMPLEMENTATION
#include "cvui.h"

 

요약

그냥 cvui.h 가져올 때 그 위에 "#define CVUI_IMPLEMENTATION" 이거 추가하기

반응형
반응형

내가 문제 생겼을 때 보기 위한 오류해결

  • C2146 : ';'이(가) 'pixel_type' 식별자 앞에 없습니다. 
  • C2027 : 정의되지 않은 형식 'dlib::image_traits<image_type>'을(를) 사용했습니다.
  • C4430 : 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.

일단 저기 Don't add anymore은 그냥 지금 프로젝트를 계속 여러번 테스트하며 하고 있어서 더 이상 추가안한다는 것

 

Dlib 라이브러리를 쓸 때 가끔 이래 뜬다..

이 오류는 내 문제에 대한건 그냥 dlib에 이미지 파일을 넣을 때 그 함수의 지원되지 않는 이미지 변수를 넣어서 그런 것 같음..

 

해결

해결 방법은 그냥 dlib가 지원하는 이미지 변수로 넣으면 아마 될 것이다..!

auto face = detector(camImg);

내 경우 얼굴 인식 때문에 하고 있는데

현재 저 camImg가 OpenCV의 Mat 자료형이다.

 

근데 Dlib에서 OpenCV의 자료형을 넣어버리면 분명 오류를 낼꺼다.. 자기꺼도 아닌데 (왜 넣냐고 나보고 어쩌라고..) 할 것이다.

그래서 간단하게 해결할려면 Dlib에서 지원하는 자료형으로 변환하면 되는 것임!

dlib::cv_image<dlib::bgr_pixel> cimg(camImg);
auto face = detector(camImg);

이렇게 하면 되는 것임..!

dlib의 cv_image가 OpenCV의 이미지를 Dlib의 매트릭스로 바꿔주는 그런 것인 듯

 

어쨋든 그런 것임!

 

요약

Dlib가 지원하는 자료형으로 이미지 넣으면 됨

반응형
반응형

학교에서 프로젝트를 받아버려서.. 해야하는 상황..

내 프로젝트를 위해선 DLIB와 OPENCV가 필요한데..

정말 2~3일동안 수없이 도전해보다가 굉장히 간단한 방법을 찾아서 알려줄까함! (왜이리 dlib는 잘 안깔리는거야)

 

일단 설치 방법은 요약하면 VCPKG를 설치해서 DLIB와 OPENCV를 설치하면 된다!

이미 VCPKG가 깔려있다면 2번으로 넘어가주세요.

1. VCPKG 설치하기

설치는 아래 링크로 들어가서 보시면 되겠습니다~~

https://cheongpark.tistory.com/15

 

윈도우에서 VCPKG 설치하기

VCPKG는 대충 C++ 그런거의 패키지를 자동으로 설치해주는? 느낌인 것 같다.. 자동화로 설치해줘서 짜증나는 오류들을 경험하지 않고 빠르게 설치해주는 엄청난 놈인 것 같다! VCPKG 설치하기 https://

cheongpark.tistory.com

 

2. dlib와 opencv 설치

vcpkg install dlib:x64-windows
vcpkg install opencv:x64-windows

위 명령어를 커맨드 창에 입력해주세요!

만약 vcpkg가 없는 명령어로 뜨면 환경 변수 설정이 안되거나 환경 변수 경로를 잘 못 지정했을 겁니다!

x64-windows는 vcpkg 패키지 리스트에서 보고 자기꺼에 맞는 걸로 선택하시면 됩니다!

 

이렇게 하면 모든 것이 설치 완료!!

이제 Visual Studio에서 include에서 사용하시면 됩니다!

// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt
/*

    This is an example illustrating the use of the perspective_window tool
    in the dlib C++ Library.  It is a simple tool for displaying 3D point 
    clouds on the screen.

*/

#include <dlib/gui_widgets.h>
#include <dlib/image_transforms.h>
#include <cmath>

using namespace dlib;
using namespace std;

// ----------------------------------------------------------------------------------------

int main()
{
    // Let's make a point cloud that looks like a 3D spiral.
    std::vector<perspective_window::overlay_dot> points;
    dlib::rand rnd;
    for (double i = 0; i < 20; i+=0.001)
    {
        // Get a point on a spiral
        dlib::vector<double> val(sin(i),cos(i),i/4);

        // Now add some random noise to it
        dlib::vector<double> temp(rnd.get_random_gaussian(),
                                  rnd.get_random_gaussian(),
                                  rnd.get_random_gaussian());
        val += temp/20;

        // Pick a color based on how far we are along the spiral
        rgb_pixel color = colormap_jet(i,0,20);

        // And add the point to the list of points we will display
        points.push_back(perspective_window::overlay_dot(val, color));
    }

    // Now finally display the point cloud.
    perspective_window win;
    win.set_title("perspective_window 3D point cloud");
    win.add_overlay(points);
    win.wait_until_closed();
}

//  ----------------------------------------------------------------------------

위 소스는 dlib.net의 기본 예제입니다.

위 소스를 Visual Studio에서 빈 프로젝트로 하나 만들고 소스 파일에서 test.cpp 하나 만들고 위 코드를 입력해서 실행해보시면 아주 잘 되는 것을 알 수 있습니다!

이런식으로 창이 나오면 잘 작동한다는 것이죠!

마우스로 회전도 되더라구요.. (그래프로 만들면 재밌겠다)

 

뭐 어쨌든 이 방식으로 설치했다면 빌드 폴더에 dll 파일도 나오는 경우가 있는데 이걸 같이 이동 시켜줘야지 다른 컴퓨터에서도 정상적으로 작동할 겁니다! (아무것도 설치 안되어있어도 잘 작동하더라구요.. 뭐 다른 한개는 설치해줘야 하긴 하는데..)

 

찾아보니 x64-windows-static 버전은 exe에다가 dll 파일 연결 안하고 모조리 다 때려 넣는 것 같군요! 하지만 설정은 더 힘드니 저 혼자만 하도록 하죠!

 

다만 맥이나 리눅스에서는 안될지도?

 

어쨌든 이만 끝!

VCPKG는 진짜 엄청나다..!

 

반응형
반응형

VCPKG는 대충 C++ 그런거의 패키지를 자동으로 설치해주는? 느낌인 것 같다..

자동화로 설치해줘서 짜증나는 오류들을 경험하지 않고 빠르게 설치해주는 엄청난 놈인 것 같다!

 

VCPKG 설치하기

https://vcpkg.io/en/getting-started.html 이 곳에도 설치 방법이 나와있습니다.

이 작업을 하기 전에 필수로 https://git-scm.com/ 깃을 설치해주세요.

 

1. VCPKG 다운로드!

cd / && mkdir dev && cd dev
git clone https://github.com/Microsoft/vcpkg.git

먼저 설치할 경로로 이동합니다.  보통 C 드라이브에 바로 설치하기 때문에 C로 맞춥니다.

대충 여기에서 dev 쪽으로 설치하라고 하니 dev 파일을 mkdir로 만들어줍니다.

그 후 dev 파일로 들어갑니다!

 

그 후 깃 클론으로 vcpkg를 다운 받습니다!

 

2. 아래 명령어로 vcpkg를 설치? 합니다.

.\vcpkg\bootstrap-vcpkg.bat

 

3. 환경 변수를 편집합니다.

커맨드 창에서 사용할 수 있게 환경 변수를 편집합니다.

 

1. 윈도우 검색창에 환경 치시고 "시스템 환경 변수 편집"을 선택해서 들어갑니다.

2. 그리고 여기에서 "환경 변수" 클릭!

 

3. 시스템 변수에서 Path를 찾아서 여세요!

4. 오른쪽 위에 "새로 만들기"를 클릭!

5. "C:\dev\vcpkg" 를 입력! (만약 다른 경로에 설치했다면 그 경로로 설정해주세요!)

입력 했다면 이런식으로 만들어졌을 겁니다! 그리고 확인!

 

4. Visual Studio 연결 (할꺼면 하시구 말꺼면 마시구)

이제 바로 Visual Studio에 연결할 수 있도록 합니다!

vcpkg integrate install

위 명령어를 치면 정상적으로 Visual Studio랑 연결되었을 겁니다!

 

사용법

패키지 설치할 때

vcpkg install <패키지:옵션>

만약 opencv를 설치한다면 "vcpkg install opencv:x64-windows" 이런식으로!

패키지는 https://vcpkg.io/en/packages.html 이쪽에서 검색한 후 있으면 입력해서 설치하시면 됩니다.

또한 x64-windows 같은 옵션은 리스트에 Compatibility나와있으니 잘 보고 입력해서 설치하시면 됩니다!

 

 

어쨌든 설치 완료~~

반응형
반응형

Windows로 OpenCV를 CMake로 빌드할 때

이런식으로 여러가지 오류가 뜬다!

(하하.. 이것 때문에 MSYS도 깔고 그랬는데도 안됬었다..)

 

제일 큰 문제는 저런식으로 Cannot copy output executable, Recorded try_compile output location doesn't exist:

이런식으로 여러가지 뜨는 문제는 아마도 버전 문제인 것 같다...

 

3.25.0 rc3 버전으로 깔아서 Configure을 눌르면 저런 오류들 뜨면서 안된다..

 

위와 말했던 것 처럼 이건 버전 오류인 것 같고..

3.24.2버전이나 그 아래 버전으로 새로 다운받아서 설치하면 정상적으로 Configure(설정)이 된다..!

 

(학교에서 프로젝트 숙제를 받아서 노트북을 새로 빌리고 (교사용으로) 새로 필요한거 빌드 하고 있었는데 하하하.. 이젠 다른걸 빌드 해야한다..)

새로 다운받아서 하니 이렇게 오류는 전혀 안뜸!

 

요약

이런 식의 오류가 나오면 현재 버전을 지우고 그 아래 버전으로 다운 받아서 새로 설치 후 다시 설정해보시길 바랍니다~~

반응형
반응형

예전부터 런치패드를 즐겨했어서 어쩌다 보니...

런치패드로 프로그래밍을 하고 있었다..

 

그러다가 한가지 아이디어가 생각나서 몇주 동안 그 아이디어로 플러그인을 제작해보았다.

그것은 튜토리얼 플러그인!

 

어쨌든 그걸 Gumroad에 올렸는데 일반 플레이 버전은 무료로 사용할 수 있게 하고

변환하는 플러그인을 유료로 풀었다.

 

그리고 여러 사람들에게 소개한 뒤 글을 쓴 오늘은 일반 무료 플러그인은 5명이 다운을 했고

유료 프로그램은 1명이 다운로드를 했다!

 

2달러로 설정해놨었는데 누가 사갔어!!

 

문제는 10달러가 안되서 못 뽑음..

 

https://cheongpark.gumroad.com/l/CPTuto

 

Cheongpark Tutorial Plugin

MIDITTXT Version -> https://cheongpark.gumroad.com/l/CPTutoMIDITTXTOnly on "Ableton" that can run Max For Live.Made in "Max For Live 8" and "Ableton 11", Other versions may not be supported.I'll distribute the Tutorial plugin that I've worked on for a long

cheongpark.gumroad.com

https://cheongpark.gumroad.com/l/CPTutoMIDITTXT

 

Cheongpark Tutorial Plugin MIDITTXT

Only this plugin Never distribute or shareThis plug-in only converts MIDI(mid) files into Tutorial files.Tutorial Plugin -> https://cheongpark.gumroad.com/l/CPTutoOnly on "Ableton" that can run Max For Live.Made in "Max For Live 8" and "Ableton 11", Other

cheongpark.gumroad.com

https://youtube.com/playlist?list=PLoZgDeQZUBTSRlPB0dHGJ084orBZdOIKH 

 

Tutorial Plugin

 

www.youtube.com

 

반응형

'블로그' 카테고리의 다른 글

블로그 변경!  (0) 2024.06.21
Baidu 바이두 다운로드 로그인 없이 하는 방법  (0) 2024.02.29
티스토리 광고 설정 완료!  (0) 2023.02.01
반응형

https://youtu.be/Mm2eYfj0SgA

예에에에전에 3Blue1Brown분의 푸리에 급수 영상을 보고

갑자기 저런건 도데체 어떻게 만들까.. 라는 생각이 들었다.

 

그래서 여러 곳을 찾아보다가 일단 제일 기본적인 것을 해보고 싶어서 해보았었다.

그래서 위 영상을 찾았고 JS로 되어있어서 C++로 변경을 하고 작동을 하게 새로 만들어서 결국엔 성공했다.

예전에 작게 테스트로 작성해본거라 잘 작성하진 못해서 오래 계산하면 느려지기도 하고 그렇지만.. 어쨌든 된다!

 

언젠간 코드를 다시 짜봐야지

 

https://github.com/cheongpark/Fourier-Series_CPP

 

GitHub - cheongpark/Fourier-Series_CPP: graphics.h

graphics.h. Contribute to cheongpark/Fourier-Series_CPP development by creating an account on GitHub.

github.com

https://youtube.com/shorts/pZXLSCzHu3I?feature=share 

 

 

반응형
반응형

밤 11시쯤에 할꺼 없어서 그냥 프로그래머스 보다가

예전부터 스킬체크를 봤었는데..

다른 공개 문제의 1단계가.. 어렵다 보니 하다가 못 풀까봐 걱정했는데..

이 참에 할꺼 없어서 한번 도전해봤다.

 

결과

!통과!

해본 소감

1단계에 있던 공개문제보다.. 훨씬 쉬웠다.

문제도 별로 안되고 약간의 지식만 있으면 아주 쉽게 풀 수 있는 문제였다.

 

단순한 방법만 생각하면 풀 수 있는 문제였다.

그리고 시간은 40분이였는데.. 너무나도 충분했었다.

15분? 걸렸나? 이것보다도 빠르게 풀 수 있었는데 주석도 달고 오류도 좀 해결하느라.. 좀 걸리긴 했다.

 

다음에 다른 문제도 도전해야지~

반응형

+ Recent posts