webnautes의 등록된 링크

 webnautes로 등록된 티스토리 포스트 수는 559건입니다.

Ubuntu 16.04에서 php7 + netbeans 개발환경 만들기 [내부링크]

php7 설치 먼저 아래 포스팅을 보고 php 설치 후, php7을 디폴트로 바꿉니다. [WEB/개발환경] - Ubuntu 16.04에 LAMP ( Apache2, Mysql 5.5, PHP5 ) 설치 설치 및 설정이 제대로 완료되었다면 localhost/info.php..

OpenCV로 얻은 Camera 영상을 OpenGL 배경과 Cube 텍스쳐(texture)로 사용하기 [내부링크]

OpenCV로 얻은 Camera 영상을 OpenGL 배경과 Cube 텍스쳐(texture)로 사용하는 예제입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40..

OpenCV로 얻은 Camera 영상을 OpenGL 배경으로 사용하기 [내부링크]

OpenCV로 캡처한 영상을 OpenGL 배경 텍스처로 사용하는 예제입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47..

OpenCV 사용해서 실시간으로 도형 검출하기(shape detection) 1 / 2 - 이미지에서 검출 [내부링크]

이진화시킨 이미지에서 findContours함수를 사용하여 contour를 찾은 후,  approxPolyDP 함수를 사용하여 다각형(polygon)을 검출하는 예제입니다. OpenCV 사용해서 실시간으로 도형 검출하기(shape detection) 1..

OpenGL 강좌 - 키보드로 3D 큐브(Cube) 움직이기 [내부링크]

이전 예제에 이어서 작성합니다.. 정사각형 그리는 방법은 꼭 참고하세요.. [그래픽스&컴퓨터비전/OpenGL & Augmented Reality] - OpenGL 강좌 - 정사각형 그리기 [그래픽스&컴퓨터비전/OpenGL & Augmented Realit..

Visual Studio 2015에서 OpenCV 3.2 연동하기 [내부링크]

본 포스팅에 대한 업데이트된 문서가 존재합니다.. Visual Studio 2017/2019에서 OpenCV 4.4.0를 사용하는 방법 http://webnautes.tistory.com/1132 크리스마스 이브 전날에 OpenCV 3.2가 나왔었네요.. 거의 1년..

안드로이드 개념 및 예제 - AlertDialog [내부링크]

다이얼로그(dialog)는 전체 화면을 다 채우지 않고 일부 화면만 가리는 윈도우로,  사용자가 예/아니오 같은 선택을 하거나 추가적인 정보 입력을 하기를 기다립니다.  사용자가 응답하기 전까지는 화면에서 사..

OpenGL 강좌 - 삼각형이 회전하는 애니메이션 구현 [내부링크]

본 포스팅을 보기 전에 아래 포스팅을 참고하세요.. [그래픽스&컴퓨터비전/OpenGL & Augmented Reality] - OpenGL 강좌 - 정사각형 그리기 OpenGL 프로그래밍을 위한 준비는 다음 포스팅을 참고하세요. [그래픽스..

OpenGL 강좌 - 정사각형 그리기 [내부링크]

OpenGL 프로그래밍을 위한 준비과정은 다음 포스팅을 참고하세요. [그래픽스&컴퓨터비전/Augmented Reality] - OpenGL( freeGLUT ) 을 Visual Studio 2015에 연동하기 [그래픽스&컴퓨터비전/Augmented Reality] -..

Android NDK + OpenCV 이미지 로드하여 영상처리하는 예제 [내부링크]

Android NDK와 OpenCV를 사용하여 갤러리에 있는 이미지를 불러와 영상처리하는 예제입니다. 바를 이용하여 Canny의 스레숄드를 변경하면 바로 결과를 볼 수 있습니다. 영상에는 코드 설명이 포함되어 있습니다...

안드로이드 개념 및 예제 - Fragment [내부링크]

Android 3.0(API 11)에서 Fragment가 처음 소개되었습니다. 재사용 가능한 유저 인터페이스를 생성하기 위한 새로운 컴포넌트라고 볼 수 있습니다. Fragment를 사용하면 코드를 재사용하여 동시에 여러 크기의 기..

OpenCV와 NDK를 사용하여 Android에서 Face Detection(얼굴 검출) [내부링크]

OpenCV 배포시 포함되어 있는 얼굴 검출 C++코드를 NDK를 이용하여 Android에서 동작하도록 수정하였습니다.  안드로이드 + NDK 카메라 기본코드에 단순히 C++코드만 옮겨오면 되는 줄 알았는데 고려해야 하는게..

안드로이드 개념 및 예제 - 화면 회전시 AsyncTask에서 ProgressBar 처리 방법 ( Fragment 이용 ) [내부링크]

AsyncTask를 이용하여 URL 주소로부터 동영상 다운로드하는 작업을 백그라운드 스레드에서 수행하면서 다운로드 진행사항을 프로그레스 다이얼로그에 보여주기 위해서 UI 스레드에 요청하는 과정을 아래 포스팅에..

Android 예제 - URL 주소로 부터 동영상 다운로드 및 재생( AsyncTask, URLConnection, PowerManager ) [내부링크]

AsyncTask 예제를 작성하기 위해 프로그램 작성하기 시작했는데 필요한 기능들을 하나씩 계속 넣다보니 여러 가지가 포함되어 버렸습니다.  최종적으로 완성된 앱은 URL 주소로부터 동영상 다운로드 후 재생시켜..

안드로이드 개념 및 예제 - AsyncTask [내부링크]

본 글은 안드로이드에서 AsyncTsak의 개념 및 사용법에 대해 설명합니다. 동기(sync)와 비동기(async) 동기적으로 태스크를 실행한 후,  다른 태스크를 실행하려면 먼저 실행된 태스크가 종료되기를 기다려야 합..

Raspberry PI와 윈도우 PC간 파일 전송 [내부링크]

라즈베리파이와 PC간에 파일 전송하는 것에 대해 다룹니다. 아래 주소에서 pscp.exe를 다운로드 받습니다. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 다운받은 pscp.exe를 윈도우 로그인..

Places API Web Service를 사용하여 Android Google Map에 현재 위치 주변의 음식점 표시하기 [내부링크]

Places API Web Service를 이용하여 현재 위치 주변의 음식점 정보를 안드로이드의 구글맵에 표시하는 내용을 다룹니다. Google Maps Android API를 사용하는 방법과 FusedLocationProviderClient 를 이용하여 현..

Ubuntu 16.04에 최신버전 Chrome 64bit 설치하기 [내부링크]

Ubuntu 16.04에 최근에 릴리즈된 크롬 브라우저를 설치하는 과정을 설명합니다. 1. 크롬 설치 2. 플래시 플레이어 플러그인 설치 3. 폰트 변경 업데이트 된 문서가 있습니다. Ubuntu 18.04에 Chrome 웹 브라우저 6..

애널리틱스 팁 - 블로그/사이트에 대한 검색엔진 별 유입 세션수를 시간의 흐름에 따른 그래프로 그리기 [내부링크]

구글 애널리틱스의 획득>전체>소스/매체 모든 트래픽에 대한 세션수를 시간의 흐름에 따른 그래프로 그리기 검색엔진별 유입 세션수를 시간 흐름에 따른 그래프로 그려보기 블로그 등록만 하고 방치해두었던 구글..

Arduino IDE에서 코딩용 폰트 사용하기 ( 가독성 개선 ) [내부링크]

Arduino IDE에서 사용하는 폰트를 변경하는 방법을 다룹니다. 최초 작성 2016. 12. 2 최종 작성 2020. 3. 25 알아냈습니다 님이 추가로 설치한 폰트로 변경이 안되는 점 해결방법을 알려주셔서 포스트를 수정했습..

네이버에서 티스토리 블로그가 검색 노출 안되는 문제 해결 [내부링크]

네이버에서 검색시 블로그가 노출이 잘안되는 점을 개선하려면  네이버 웹마스터 도구를 이용해서 블로그를 등록한다고 하면 된다고 합니다. 그래서 네이버 웹마스터 도구( http://webmastertool.naver.com/boar..

Ubuntu Linux - 네트워크 상에서 사용중인 IP 조회하기 [내부링크]

라즈베리파이를 공유기에 연결해 놓고 우분투 리눅스에서 SSH로 접속하려는데  IP를 확인할 방법이 떠오르지 않았습니다.  라즈베리파이에서 고정 아이피를 사용하도록 해놓았으면 좋았겠지만  공유기마다 IP..

Ubuntu Linux에 코딩용 폰트 설치 [내부링크]

터미널에서 작업시 폰트때문에 가독성이 너무 떨어져서  폰트를 변경해보았습니다. 이왕이면 코딩용 폰트라고 불리는 것들을 설치하고 싶어서 아래 링크를 참고하여  네이버에서 공개한 D2 Coding로 결정하였습..

기존 티스토리 블로그 스킨을 반응형으로 변경 후 구글 에드센스 다시 삽입하기 [내부링크]

티스토리 블로그에 반응형 스킨 적용 스킨 수정 1.폰트를 나눔 고딕으로 변경 구글 애드센스 삽입 1.구글 애드센스 반응형 광고 생성 2. 티스토리 스킨에 에드센스 반응형 광고 코드 삽입 2-1. 본문글 우측 상단에..

GenyMotion 가상머신에 Google Apps설치하여 Google Maps Android API 테스트 하기 [내부링크]

Genymotion에서 Google Map API을 가지고 작성한 Android 앱을 테스트하는 방법을 소개합니다. Google Maps Android API를 이용하여 앱 제작하는 방법은 아래 포스팅을 참고하시기 바랍니다. Google Maps Android..

windows 10에서 Genymotion으로 가상머신 실행시킬 때 블루 스크린 뜨는 현상 해결 [내부링크]

별문제 없이 윈도우 10에서 Android Studio와 Genymoion을 같이 사용했었는데 얼마 전 부터 가상 머신을 실행하는 도중에 블루 스크린이 뜨는 현상이 생겼습니다. Android Studio,  Genymotion 그리고 VirtualBox..

OpenCV 3.1 예제 - OpenCV를 pthread, mutex와 같이 사용하기 [내부링크]

pthread와 mutex를 OpenCV와 같이 사용하는 예제입니다. main함수에서 웹캠을 열어주고 UpdateFrame 스레드를 생성하고  UpdateFrame 스레드 에서는 웹캠으로 부터 영상을 넘겨주길 기다렸다가 그레이 영상으로..

티스토리 블로그가 구글 검색 안되는 문제 해결 [내부링크]

블로그가 구글 검색엔진에서 검색이 잘 되었던 걸로 기억하는데 오늘 우연찮게 확인해봤더니 1주일동안 전혀 안되고 있네요.  지난 한달로 검색해봐도 많이 안 나옵니다. 예전에 티스토리 스킨 바꾸면서 크롤링..

Android Studio에서 GitHUb 사용하는 방법 [내부링크]

안녕하세요 : ) 안드로이드 스튜디오에서 프로젝트를 GitHub에 공유하고 수정한 사향을 GitHub에 보내거나 가져오는 방법을 설명합니다. 다음 4가지를 다룹니다. 안드로이드 스튜디오의 프로젝트를 GitHUb에 공유..

Android Studio 2.x 버전에서 Google Map 로딩이 늦는 문제 해결 -> Instant Run 해제 [내부링크]

Instant Run은 안드로이드 2.0부터 도입된 기능으로 코드를 수정하는 순간 바로 결과물에 반영이 되는 기능입니다. 기존의 코드 수정 후, 빌드하여 다시 deploy하는 번거로움을 줄여주기 위해서 라고 합니다. 그동..

Android NDK + CMake + OpenCV 카메라 예제 및 프로젝트 생성방법(Android Camera Example with NDK, OpenCV, CMake ) [내부링크]

NDK를 지원하는 안드로이드 프로젝트를 생성한 후, OpenCV 라이브러리를 추가하여 사용하는 방법을 설명합니다. 간단한 예제로 OpenCV Java API에서 캡처한 영상을 OpenCV C++ API에서 그레이스케일 영상으로 변환..

Intel HD 4600에서 벌칸(Vulkan) API 사용해보기 [내부링크]

OpenGL을 공부하려 찾다가 새로운 것을 찾았네요.. 벌컨이라고 OpenGL 다음 버전에 해당되는 API라고 합니다. 위키피아에는 벌칸(Vulkan)을 아래처럼 소개하고 있습니다. 벌컨(Vulkan)은 오버헤드가 적은 크로스..

우분투( Ubuntu 16.04 ) 늦게 종료되는 현상 해결 [내부링크]

출처 http://askubuntu.com/a/763803 우분투 리눅스를 사용 후... 리부팅이나 컴퓨터 종료시 너무 느리게 진행되어 매번 기다리다가 강제 종료시키기 일쑤였는 데  해결방법을 찾았습니다. cups-browsed 데몬의..

Ubuntu 16.04에서 OpenGL( freeGLUT ) 프로그래밍 [내부링크]

설치 $ sudo apt-get install freeglut3-dev 예제 코드 컴파일 $ gcc test.c -lglut -lGL -lGLU 실행결과 visual studio code에서 컴파일 및 실행하기 visual studio code 설치는 다음 글을 참고하세요.. [리눅스..

안드로이드 - 버튼 클릭 시 ImageView의 이미지 변경하기 [내부링크]

1. 버튼 클릭 시 ImageView의 이미지 변경하기 프로젝터 폴더의 drawable폴더에 사용할 이미지를 복사해줍니다. 프로젝트 폴더\app\src\main\res아래에 위치합니다. 안드로이드 스튜디오에서 추가된 것을 확인 할..

영상처리 강좌 3 - 컨볼루션(Convolution)과 스무딩(Smoothing), 샤프닝(Sharpening) [내부링크]

컨볼루션(Convolution) 입력 영상을 스캔하면서 현재 위치의 픽셀과 마스크 크기 내에 포함되는 주변 픽셀을 마스크 배열과 컨볼루션하여 결과 영상의 현재 위치값으로 결정합니다.  마스크에서 정의한 가중치에..

영상처리 강좌 2 - 히스토그램 평활화( Histogram Equalization ) [내부링크]

히스토그램 평활화는 히스토그램을 이용하여 이미지의 명암 대비를 개선시키는 방법입니다.  그레이스케일 영상의 경우 픽셀이 가질 수 있는 값의 범위는 0 ~ 255 사이의 값입니다.  이미지 상에서 픽셀값이 0..

Hough Line Transform 구현 [내부링크]

직선 y = mx + b을 매개변수식으로 바꾸면 r = xcosθ + ysinθ이다. 여기서 r은 원점으로부터 직선까지의 수직거리이며 θ는 이 직선과 수직인 직선과 x축 사이의 각도를 시계 반대방향으로 측정한 값이다. 좌..

ArUco Marker Detection 구현 및 Pose Estimation [내부링크]

계속 내용을 보완하고 추가할 예정입니다. 기준 마커(fiducial marker)는 일정한 포맷으로 만들어진 인공적인 랜드마크입니다. 증강 현실(Augmented Reality)을 구현하데 이용할 수 있습니다. 영상에서 마커를 검..

Visual Studio 2017용으로 OpenCV 4.0.1 빌드 하기 (opencv_contrib 포함) [내부링크]

OpenCV's extra modules( opencv_contrib )을 포함하여 OpenCV 4.0.1 라이브러리를 Visual Studio 2017에서 사용하기 위해 컴파일한 과정을 다루고 있습니다. 윈도우즈용으로 미리 빌드된 OpenCV 라이브러리에는 e..

opencv를 이용한 영상 이진화(binarization, thresholding) [내부링크]

이진화는 가장 간단한 세그멘테이션(segmentation) 방법이다. 세그멘테이션이란 이미지를 분할하여 원하는 부분 혹은 물체를 검출하는데 많이 사용되는 기법이다. 이진화는 원본 영상을 그레이 영상으로 변환한 후..

Arduino - 시리얼 통신으로 실수(double)를 전송하기 [내부링크]

출처: http://sheepdogguides.com/arduino/aht2printfloat.htm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 /*Program..

Arduino UNO를 브레드보드로 제작하기(DIY) [내부링크]

브레드 보드를 이용하여  Arduino UNO 보드를 만든 과정을 기록해봤습니다. 주문 부품 Atmega328P-PU 1개 http://itempage3.auction.co.kr/DetailView.aspx?itemNo=B310712008&frm3=V2 브레드보드 미니 사이즈  ..

Ubuntu 16.04에 opencv_contrib 포함하여 OpenCV 4.0.1 설치하는 방법 [내부링크]

OpenCV 4.0.1과 opencv_contrib(extra modules)를 컴파일하여 Ubuntu 16.04에 설치하는 방법을 다룹니다. ps. Ubuntu 18.04에 OpenCV를 설치하는 방법은 다음 포스트를 참고하세요 Ubuntu 18.04에 OpenCV 4.2.0 설..

Ubuntu 16.04에 VMware Workstation Player설치하고 windows 설치하기 [내부링크]

Linux Mint 18 Cinnamon 64-bit가 설치된 컴퓨터에서 VMware 설치 및  게스트 OS로 윈도우즈 설치를 진행한 과정을 기록하였습니다. VMware 홈페이지( http://www.vmware.com/ )에서 VMware Workstation Player..

Ubuntu 16.04에 LAMP ( Apache2, MySQL , PHP7) 설치하는 방법 [내부링크]

Apache2 웹서버, MySQL 데이터베이스 서버, PHP를 Ubuntu에 설치하는 과정을 소개합니다. LAMP는  운영 체제와 오픈 소스 소프트웨어 스택의 조합으로 Linux, Apache, MySQL, PHP의 첫글자만 가지고 만든 약어입..

비주얼 베이직 .Net 강좌 - 4. DataGridView에 이미지 경로와 이미지 추가하기 [내부링크]

데이터베이스에서 이미지를 어떻게 관리하는지 찾아보니 이미지를 데이터베이스에 넣는게 가능하지만  그렇게는 하지 않고 파일의 경로만 데이터베이스에 저장하는 군요.. 데이터베이스와 연동하기전에 먼저 Dat..

엔코더값을 이용한 로봇의 이동거리 및 회전각 계산 [내부링크]

이륜 로봇에서 이동거리 구하기 D = 바퀴의 지름 = 65 mm R = encoder의 resolution = 1회전에 16펄스 G = 모터의 기어비(바퀴와 엔코더사이의 기어비) = 120:1 1 thick당 이동한 거리 F = ( D *3.14)/(G*R) =(65*..

비주얼 베이직 .Net 강좌 - 3. DataGridView에 SQLite 연동하는 방법 [내부링크]

새로운 프로젝트를 생성한 후 솔루션 탐색기에서 솔루션 이름을 선택하고 마우스 우클릭을 하여 나온 메뉴에서 솔루션용 NuGet 패키지 관리를 선택합니다. 찾아보기를 선택한 후, 입력창에 Sqlite를 입력하면 나..

비주얼 베이직 .Net 강좌 - 2. DataGridView 사용법 [내부링크]

강좌이긴 한데.. 처음부터 A-Z까지의 내용을 다루는 것이 아니라.. 제가 작성할 프로그램에 관련된 부분들만 우선적으로 공부하고 있어서.. 올리는 내용도 그렇게 될 것 같습니다. 새로운 프로젝트를 생성한 후...

비주얼 베이직 .Net 강좌 - 1. Hello World [내부링크]

비주얼 베이직을 공부하며 작성한 프로그램 코드들을 설명을 덧붙여서 올릴 계획입니다. Visual Studio 6로 오래 전에 짜보고는 간만에 Visual Studio 2015로 넘어와서 해보는데 좀 바뀐점이 있어서 헷갈리는 군요..

Android - Spinner 간단한 예제 [내부링크]

화면 상단에 있는 스피너에서 원하는 단어를 선택하면 하단에 있는 리스크뷰에 선택한 단어가 추가되는 예제입니다. 오른쪽 이미지는  스피너에서 사과, 귤, 바나나를 선택한 후의 결과입니다. activity_main...

Android - ListView 간단한 예제 [내부링크]

첫번째 예제는 ListView에 있는 단어 중 하나를 선택하면.. 상단에 있는 TextView에 해당 단어를 보여주는 간단한 예제입니다. 사용한 레이아웃 구조는 간단합니다. 리스트뷰에서 선택된 아이템을 보여줄 Text..

RecyclerView 안에 여러 개의 수평방향 RecyclerView 넣기 [내부링크]

출처 - http://android-pratap.blogspot.kr/2015/12/horizontal-recyclerview-in-vertical.html?m=1 구글 플레이 스토어 앱처럼 수직방향의 RecyclerView 안에 여러 개의 수평방향 RecyclerView 를 넣은 구현입..

android에서 Navigation Drawer 사용하기 [내부링크]

우선 새로운 프로젝트를 생성하는데 최소 API 버전을 15로 해서 만들었습니다.  그리고 app/build.gradle에 다음 빨간색 한 줄을 추가합니다. 주의할 점은 compileSdkVersion과 버전을 맞추어야 한다는 것입니다...

Android ViewPager 예제 - 좌우로 스와이프로 화면 전환 [내부링크]

좌우로 움직이는 스와이프 제스처로 앱의 화면을 전환을 하는 예제입니다. 최초작성 2016. 7. 24 최종작성 2019. 10. 12 스와이프(swipe)는 손가락을 화면에 댄 후, 일직선으로 드래그했다가 손을 떼는 동작입니다..

Android 예제 - 액티비티간 데이터 전달하는 방법 [내부링크]

Intent를 사용하여 다른 액티비티로 전환하며 데이터를 전달하는 방법을 다룹니다. 인텐트 예제 버튼을 클릭하면 이미지뷰에 있는 이미지와 문자열, 정수, 실수를 두번째 액티비티로 전달합니다. 전환된 두번째 액..

Android Google Map에 현재 위치 표시하기( GoogleApiClient, FusedLocationApi 사용) [내부링크]

GoogleApiClient와 FusedLocationApi를 사용하여 구글맵에 현재 위치를 표시하는 예제입니다. 최종 업데이트 -  2017. 11.27 Deprecated된 FusedLocationApi를 대체하는 FusedLocationProviderClient를 사용하도..

OpenGL Rendering Pipeline [내부링크]

https://www.quora.com/What-is-a-vertex-shader-and-what-is-a-fragment-shader http://www.haroldserrano.com/blog/what-is-the-opengl-rendering-pipeline OpenGL ES에서 모든 오브젝트들은 일련의 코너점들에..

Android에서 OpenGL ES 2.0 프로그래밍 [내부링크]

간단한 OpenGL ES 2.0 예제입니다. 1. 새로운 프로젝트를 생성하고 안드로이드 매니페스트 파일 AndroidManifest.xml에 사용하려는 OpenGL ES 버전을 2.0으로 지정해줍니다. <?xml version="1.0" encoding="utf-8"..

error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037 [내부링크]

얼마전부터 자꾸 아래와 같은 에러가 나면서 Genymotion을 사용하는데 문제가 생겼습니다.. 오후 4:26:56 Genymotion  Device added to main list: Google Nexus 6 - 5.0.0 - API 21 - 1440x2560 오후 4:26:56 Ge..

Android의 LinearLayout 정리 [내부링크]

LinearLayout은 모든 자식들이 일렬로 정렬되는 뷰그룹이다. 정렬되는 방향은 수평 혹은 수직이 될 수 있다.. orientation 속성으로 레이아웃의 방향을 수평 혹은 수직으로 지정해줄 수 있다. LinearLayout의 모든..

Unity 5 설치 및 Android 앱 빌드 가능하도록 설정하기 - 간단한 예제를 만들어 태스트 [내부링크]

unity를 설치하기 전에  android studio를 설치합니다. 자세한 내용은 아래 포스팅을 참고하세요. [Android/개발환경] - 안드로이드 윈도우 개발환경 구축하기( android studio + genymotion) android studio 설..

OpenCV Python 강좌 - 템플릿 매칭(Template Matching) [내부링크]

이번 포스팅에서는 템플릿 매칭을 사용하여 이미지상에서 오브젝트를 찾는 방법을 다룹니다. 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.opencv.org/4.0.1/d6/..

genymotion 2.7.2 설치후 libstdc++.so.6 오류 발생시 해결방법 [내부링크]

genymotion을 사용하다가 최신 버전을 다운받아 설치했더니 아래와 같은 에러가 났다.. webnautes@webnautes-W54-55SU1-SUW ~/다운로드/genymotion $ ./genymotion ./genymotion: /usr/lib/x86_64-linux-gnu/libs..

Ubuntu 20.04 / 18.04의 독(Dock)을 Mac OS처럼 화면 아래에 보이게 하기 [내부링크]

Ubuntu의 왼쪽에 보이는 독(Dock)을 Mac OS처럼 화면 아래에 보이도록 하는 방법을 설명하고 있습니다. 2018. 7. 4 - 최초 작성 2021. 5. 8 - Ubuntu 20.04 에서 확인 1. Ubuntu 20.04 / 18.04 설치를 완료하면 왼..

Ubuntu 20.04 / 18.04 설치 완료 후 한글 설정하는 방법 [내부링크]

Ubuntu 20.04 / 18.04 설치 후 한글 입력을 설정해주는 방법을 설명합니다. 2018. 7. 4 최초 작성 2019. 8. 20 2020. 7. 11 Ubuntu 20.04에서 동작 확인 1. 오른쪽 아래에 보이는 프로그램 표시 아이콘을 클릭합니..

Windows가 설치된 컴퓨터에 Ubuntu 설치하는 방법 [내부링크]

Windows가 설치된 컴퓨터에 Ubuntu 22.04를 설치하는 방법을 설명합니다. 중간에 다운로드도 해야 하므로 인터넷이 사용가능한 곳에서 진행하세요. 2018. 7. 3 - 최초 작성 2022. 5. 8 - Ubuntu 22.04 설치 컴퓨터..

Visual Studio Code 설치하는 방법( Windows / Ubuntu ) [내부링크]

Visual Studio Code를 Windows와 Ubuntu에 각각 설치하는 방법을 설명합니다. 설치를 진행해본 운영체제 버전은 Windows 10과 Ubuntu 20.04 /Ubuntu 18.04 입니다.           1. 윈도우에 설치하는 방법..

윈도우용 gcc, g++ 컴파일러를 사용하기 위해 MinGW 설치하는 방법 [내부링크]

Windows에서 gcc, g++을 사용하는 C/C++ 개발환경을 만들기 위해 MinGW를 설치하는 방법을 다루고 있습니다. 2018.  7. 2 -  최초 작성. 1. https://sourceforge.net/projects/mingw/files/ 에서 초록색 버튼을..

[ android & java 예제 코드] ArrayList의 item으로 HashMap 사용하는 방법 [내부링크]

HashMap에 원하는 데이터를 입력하여 ArrayList의 item 추가한 후,  다시 ArrayList에서 HashMap을 꺼내서 HashMap에 있는 값들을 출력하는 예제코드입니다. Java(JDK)와 Android Studio를 사용하여  각각 테스..

ArrayList, ArrayAdapter와 ListView - 2. ListView와 Adapter의 동작 살펴보기 [내부링크]

이전 포스팅에서 언급했던 화면 크기 제약으로 일정 개수만 리스트뷰에 보여주게 되는 원리를 설명하려면   getView 메소드가 포함된 Custom Adapter를 구현해야 합니다. 이번 포스팅에선 동작을 설명하고 자세..

OpenCV 사용해서 실시간으로 도형 검출하기(shape detection) 2 / 2 - 웹캠에서 검출 [내부링크]

이전 포스팅에서 다루었던 이미지에서 도형을 검출하는 예제 코드를 웹캠 기반으로 수정하여 테스트해 본 과정을 설명합니다. OpenCV 사용해서 실시간으로 도형 검출하기(shape detection) 1 / 2 -  이미지에서..

Raspberry Pi Camera Module( pi camera )를 위해 /dev/video0 생성하는 방법 [내부링크]

Raspberry Pi Camera Module( pi camera )는 USB 장치가 아니라서 연결을 해도 바로 /dev/video0 디바이스 파일이 생성되지 않습니다. 별도의 드라이버 모듈을 로드해야 /dev/video0 파일이 생성됩니다. 관련 포스..

ArrayList, ArrayAdapter와 ListView - 1. 기본적인 사용 방법 [내부링크]

본 포스팅에서는 ArrayList에 저장되어 있는 데이터를 ListView에 보여주기 위해  ArrayAdapter를 사용하는 방법을 코드적으로 설명합니다. 자세한 구현 방법은 MainActivity.java에 있는 주석을 번호 순으로 읽..

Android PHP MySQL 예제 - 데이터베이스에 데이터 저장 및 JSON 형식으로 가져오는 예제 프로젝트 [내부링크]

데이터베이스에 데이터를 입력하고 JSON 형식으로 데이터를 가져오는 예제입니다. 검색 결과를 가져올 수도 있습니다. 다음 세 개의 포스팅에 있는 코드를 하나의 앱에서 동작하도록 수정한 결과입니다. 나라만 검..

PHP로 간단한 웹사이트 만들기(회원가입, 로그인) [내부링크]

PHP를 사용하여 회원 가입 및 로그인이 되는 간단한 웹사이트를 만들어 보았습니다. 사용자가 입력한 패스워드 검사, 세션 유지나 AES 256으로 평문을 암호하는 코드도 포함되어 있습니다. 웹사이트에 회원 가입하..

Ubuntu 18.04에서 Sublime Text 3를 사용하여 OpenCV 개발환경 만들기 [내부링크]

Ubuntu 18.04에서 Sublime Text 3를 사용하여 OpenCV 코드를 컴파일하는 방법을 다루고 있습니다. OpenCV 설치방법은 다음 포스팅을 참고하세요. Ubuntu 18.04에 opencv_contrib 포함하여 OpenCV 3.4.1 설치 http:..

Ubuntu 18.04에 OpenCV 4.2.0 설치하는 방법 [내부링크]

OpenCV 4.2.0과 opencv_contrib(extra modules)를 컴파일하여 Ubuntu 18.04에 설치하는 방법을 다룹니다. 1. 설치된 OpenCV 제거 2. 기존 설치된 패키지 업그레이드 3. OpenCV 컴파일 전 필요한 패키지 설치 4. Op..

Ubuntu 18.04에 LAMP ( Apache2, MySQL , PHP 7) 설치하는 방법 [내부링크]

Apache2 웹서버, MySQL 데이터베이스 서버, PHP를 Ubuntu에 설치하는 과정을 소개합니다. LAMP는  운영 체제와 오픈 소스 소프트웨어 스택의 조합으로 Linux, Apache, MySQL, PHP의 첫글자만 가지고 만든 약어입..

Ubuntu 20.04 / 18.04에 Chrome 웹 브라우저 64bit 설치하기 [내부링크]

Ubuntu 20.04 / 18.04에 크롬 웹 브라우저를 설치하는 방법을 설명합니다. 2018. 5. 20 최초 작성 2020. 7. 11 Ubuntu 20.04에서 동작 확인 크롬 웹 브라우저 패키지를 설치하기 위해 필요한 인증키를 등록합니다...

Ubuntu 18.04로 업그레이드 및 독(Dock) 항상 보이게 하는 방법 [내부링크]

우분투 16.04 LTS(Xenial Xerus)로부터 우분투 18.04 LTS(Bionic Beaver)로 업그레이드 하는 과정을 다룹니다. 우분투 18.04.1이 릴리즈되는 7월 말부터 정식으로 업그레이드를 지원되지만 개발 릴리즈 버전으로..

Tensorflow 기초 강좌 - Tensor, Operation, Graph, Session에 대하여 [내부링크]

텐서플로우 공식 문서, stackoverflow 등 여러 인터넷 상의 자료를 바탕으로 공부하며 작성한 포스팅이며  아직 부족한 점이 많습니다. 계속 보완될 예정이며 잘못된 부분이 있으면 댓글로 알려주세요. 텐서플로..

Python 개념 정리 - 객체란 ( mutable vs immutable ) [내부링크]

본 포스팅에서는 파이썬의 mutable 객체와 immutable 객체에 대해  is 연산자, id 함수, == 연산자를 중심으로 설명하고 있습니다. 2018. 5. 10 - 최초작성 2018. 7. 19 파이썬에서 모든 것은 객체(object)입니다..

Android Studio에서 GitHub 프로젝트 가져와 사용하는 방법 [내부링크]

Android Studio에서 GitHub 프로젝트 가져와 사용하는 방법 안녕하세요 : ) 안드로이드 스튜디오에서 GitHub에 공개된 안드로이드 프로젝트를 가져와 사용하는 방법을 설명합니다. 마지막 업데이트 2019. 4. 26

유튜브 영어 자막 다운로드하는 방법 [내부링크]

유튜브에서 영어자막을 다운로드하는 방법을 소개합니다. 2018. 12. 4. 최초작성 2021. 5. 17 최종작성 1. 크롬 웹브라우저에 Tampermonkey 확장 프로그램을 설치합니다. 아래 링크에 접속 후, Chrome에 추가를 선..

PyCharm에 TensorFlow 설치하여 사용하는 방법( Windows / Ubuntu ) [내부링크]

윈도우/우분투에 설치한 PyCharm에서 텐서플로우 프로그래밍을 시작하기 위해 필요한 작업을 다루고 있습니다. 1. Python 설치(Windows) 2. Python 설치(Ubuntu) 3. PyCharm 설치 ( Windows ) 4. PyCharm 설치 ( U..

Windows 10에 설치한 Windows Subsystem for Linux 및 Ubuntu 삭제하는 방법 [내부링크]

명령 프롬프트를 실행하고 마이크로소프트 사이트에 나온대로 삭제하려고 해보면 다음과 같은 에러가 나면서 삭제가 되지 않습니다. C:\Users\webnautes>lxrun /uninstall /full 경고: lxrun.exe는 Linux 배포용..

WSL 2 ( Windows Subsystem for Linux 2) 설치 및 OpenCV 설치하기 [내부링크]

윈도우 10에 WSL2 및 OpenCV 설치하는 과정입니다. 별도로 작성되었던 포스트였는데 지금 다시 확인해보니 기존 우분투와 WSL2에 설치된 우분투에 OpenCV를 설치하는 과정이 차이가 없습니다. 주의할 점은 WSL2에..

WSL 2 ( Windows Subsystem for Linux ) 를 사용하여 Ubuntu 20.04 설치 하는 방법 [내부링크]

Windows 10에 wsl2 ( Windows Subsystem for Linux )를 설치한 후, Ubuntu 20.04를 설치한 과정을 다루고 있습니다. 2017. 12. 15 최초작성 2021. 05. 19  2021. 08. 01 최종작성 "Windows Subsystem for Linux"..

Raspberry Pi를 위해 Eclipse를 사용하여 OpenCV 예제 크로스 컴파일하는 법 [내부링크]

라즈베리파이를 위해 이클립스에서 OpenCV 예제 크로스 컴파일을 하는 방법을 소개합니다. 마지막 업데이트 2019. 5.  3 1. 이클립스 설치 IDE로는 Eclipse를 다운로드 받아서 사용했습니다.       https:/..

Android Google Map에서 목적지 Marker와 이동 중인 현재 위치 간의 거리 계산해서 보여주기 [내부링크]

Google Map에 목적지 마커를 추가한 후, 사용자가 해당 마커 위치로 이동할 때마다 남은 거리를 계산 해주도록 작성해보았습니다. ‘ 2017. 11. 30 최초작성 ~~~~~~~~~ 2019. 11. 25 FusedLocationProviderClient..

Android Google Map + Places API Web Service에서 Marker의 정보를 다른 Activity로 전달하기 [내부링크]

Places API Web Service를 이용하여 현재 위치 주변에 있는 음식점 같은 장소 정보를 획득하여 주변에 위치를 아래 화면처럼 빨간색 마커로 출력해줍니다. 마커 하나를 선택하면 해당 장소의 이름과 주소를 정보..

GenyMotion 가상 디바이스 실행안되는 에러 해결방법 - The virtual device got no IP address [내부링크]

“The virtual device got no IP address” 에러 메시지 보여주며 GenyMotion의 가상 디바이스가 실행되지 않는 현상을 해결하는 방법입니다. 최종 업데이트 - 2018. 5. 25 1. VirtualBox의 메뉴에서 파일 > 호스..

OpenCV에서 투명 이미지 오버레이 하기 [내부링크]

OpenCV에서 투명한 부분이 포함되어 있는 이미지(transparent image)를 다른 이미지 또는 영상에 오버레이하는 방법을 찾아봤습니다. http://jepsonsblog.blogspot.kr/2012/10/overlay-transparent-image-in-openc..

Modern OpenGL 강좌 - 텍스처( texture ) 매핑하는 방법 1/2 [내부링크]

OpenGL에서 텍스처를 사용하는 방법을 설명합니다. 이번 포스팅에서는 삼각형에 텍스처를 입히는 경우를 설명하고 다음 번에는 사각형에 텍스처 입히는 경우와 텍스처 방법 관련 옵션에 대해 설명할 예정입니다. 1..

Android PHP MySQL 예제 - 데이터베이스 질의(query) 결과 출력하기 [내부링크]

안드로이드 앱에서 입력한 키워드를 웹서버에서 실행되는 PHP를 이용하여 MySQL 데이터베이스 서버에 질의하는 예제입니다. 질의 결과는 JSON 형식으로 가져와서 화면에 보여줍니다. 현재 예제에선 키워드를 2개..

Visual Studio Code에서 C/C++ 프로그래밍( Windows / Ubuntu) [내부링크]

Windows와 Ubuntu 환경에 설치된 Visual Studio Code에서 C/C++을 컴파일하고 실행시키는 방법에 대해 설명합니다. 테스트에 사용한 운영체제 버전은 Windows 10과 Ubuntu 20.04입니다. Visual Studio Code 버전에..

Android - ArrayList의 String을 TextView에 출력하는 예제( strings.xml의 문자열 서식 사용) [내부링크]

strings.xml 파일에 문자열 서식을 지정하여 ArrayList에 저장되어 있는 문자열들을  TextView에 출력하는 예제입니다. 앱의 레이아웃은 TextView만 있는 간단한 구조입니다. <?xml version="1.0" encoding="utf-..

Visual Studio 2017로 Raspberry Pi 3 프로그램 개발하기 [내부링크]

Visual Studio 2017에서 추가된 Linux 개발 기능을 Raspberry Pi에서 테스트해보았습니다. 원격 디버깅도 가능하다는데 아직 못해봤습니다. 1. Linux development with C++를 위한 워크로드 설치 2. 프로젝트 생성..

Modern OpenGL 강좌 - 삼각형 그리기( 렌더링, Vertex Array Object, Vertex Buffer Object) [내부링크]

삼각형을 구성하는 세 개의 vertex(정점, 꼭짓점)의 위치와 색상 데이터를 GPU로 전송하여 렌더링 결과를 화면에 출력하는 방법에 대해 설명합니다. 기본적인 GLFW와 GLEW 라이브러리 사용법을 설명했던 다음 포스..

OpenCV SURF로 이미지 매칭 테스트 [내부링크]

OpenCV의 SURF 예제를 테스트  해보았습니다. 장면 이미지에서 특정 물체를 찾아내는 이미지 매칭 테스트입니다. 업데이트 2019. 3.  4 2019. 5. 11 윈도우에서 진행하려면  아래 글에 나온대로 OpenCV을 다시..

Visual Studio Code에서 Kotlin 프로그래밍( Windows ) [내부링크]

Windows에 설치된 Visual Studio Code에서 Kotlin을 컴파일하고 실행시키는 방법에 대해 설명합니다. 2017. 6. 28 - 최초 작성 2018. 07. 01 2020. 04. 10 2021. 04. 08 컴파일 관련해서 이슈가 있었는데 이제서야..

UEFI 모드로 설치한 grub 복구하기 [내부링크]

윈도우를 재설치 또는 업데이트되면서 지워진 grub를 복구하는 과정을 설명합니다. 1. 다음 포스팅을 참고하여 UEFI 지원하는 우분투 설치용 USB 메모리를 준비합니다. Rufus를 사용하여 Ubuntu 설치용 USB 메모리..

Rufus를 사용하여 Ubuntu 설치용 USB 메모리를 만드는 방법 (UEFI/GPT/MBR) [내부링크]

Rufus를 이용하여 Ubuntu 20.04 LTS 설치용 USB 메모리를 만드는 과정을 다루었습니다. 2017. 06. 28 - 최초작성 ~~~~~~~~~ 2019. 12. 08 2020. 6. 27 - Ubuntu 20.04 진행, 우분투 버전과 상관없이 진행방법은 동..

Genymotion 설치 및 Android Studio와 연동하여 사용하는 방법 [내부링크]

Android Studio에서 HAXM을 설치하지 않아도 속도가 빠른 Genymotion을 사용하는 방법을 다루었습니다. 또한 사용하기 쉬운 인터페이스로 가상 디바이스에서 앱을  테스트해 볼 수있게 해줍니다. 지도를 보며 GPS..

Windows의 시간 안맞는 문제 해결 방법 ( 인터넷 시간 동기화 문제 ) [내부링크]

어느 순간부터 컴퓨터의 시간이 자꾸 안맞아서 수동으로 인터넷 시간 동기화를 해주곤 했었습니다. 단순히 컴퓨터 메인보드에 있는 CMOS 배터리 문제인 거 같아 교체했지만 그래도 해결되지 않아서 방법을 찾아봤..

Windows에서 Linux 파티션(Ext2 / Ext3 / Ext4)을 마운트하여 읽고 쓰기는 방법 [내부링크]

윈도우에서 리눅스 파티션을 마운트시켜서 읽고 쓰기가 가능하도록 하는 방법을 설명합니다. 테스트 환경은 다음과 같습니다. Windows 10 Pro 64비트 Ubuntu 18.04 LTS 64비트 2017.  6. 4. 최초 작성 2018. 11...

안드로이드 스튜디오의 에뮬레이터 설치 및 사용 방법 [내부링크]

Android Studio에서 Emulator를 설치하고 가상 디바이스를 생성하는 방법을 다룹니다. 또한 앱을 실행하는 방법 및 가상 디바이스에서 테스트 할 수 있는 항목에 대해 설명합니다. 1. Android Emulator 설치하기 2..

Visual Studio 2017에서 리소스 뷰 열 때, rcdll.dll 찾지 못하는 에러 해결 방법 [내부링크]

MFC 프로젝트를 생성하고 리소스 뷰를 열기 위해 Ctrl + Shift + E를 눌렀더니 다음과 같은 에러가 났습니다. C:\Program Files (x86)\Windows Kits\10\bin\x86\rcdll.dll; 리소스 컴파일러 DLL을 찾을 수 없습니..

Raspberry Pi 3 블루투스 페어링 방법(bluetoothctl) 및 C언어 블루투스 서버 예제 [내부링크]

Bluetooth 모듈이 내장되어 있는 Raspberry Pi 3와 윈도우가 설치된 PC 간에 페어링 및 메시지를 주고 받는 방법을 설명합니다. 블루투스 통신 테스트는 C언어로 작성된 Bluetooth 서버 예제를 Raspberry PI 3에서..

Visual Studio 2017에서 C++의 cout 함수로 한글 출력시 글자 사이에 빈칸(SPACE) 출력되는 문제 해결 [내부링크]

Visual Studio 2017에서 C++ 언어의 cout 함수를 사용하여 한글 출력하는 콘솔 응용 프로그램을 작성시 발생하는 문제점과 해결 방법을 설명하고 있습니다. 테스트 환경은 다음과 같습니다. Windows 10 Pro 64 비..

Ubuntu에서 Android 개발 환경 준비하기 ( Android Studio 설치 ) [내부링크]

윈도우에서 안드로이드 스튜디오 3.1.2를 설치하고 프로젝트 생성하는 과정을 다룹니다. 안드로이드 SDK 설치 요령과 새로운 안드로이드 프로젝트 생성 및 기존 프로젝트를 불러오는 방법도 소개하고 있습니다. 최..

Windows에 JRE 설치하는 방법 [내부링크]

Windows에 Java SE Runtime Environment(JRE)가 설치되었는지 여부 확인 및 JRE 설치하는 방법을 다룹니다. JRE 설치 여부 확인 방법 JRE 설치 방법 JRE 설치 여부 확인 방법 명령 프롬프트를 실행하기 위해 윈도..

Visual Studio 2017/2019에서 OpenCV 4.5.3를 사용하는 방법 [내부링크]

Visual Studio 2015/2017을 위해 미리 빌드되어 배포되는 OpenCV 4.5.3 패키지를 Visual Studio 2017/2019에서 사용하기 위해 필요한 과정을 설명합니다. Visual Studio 2019(vc16)를 위한 공식적인 배포는 없지만..

C++, Win32 API, MFC 개발을 위해 Visual Studio Community 2017 설치하는 방법 [내부링크]

C/C++ 및  Win32&MFC 프로그래밍을 위해 Visual Studio Community 2017를 설치하는 방법을 다루고 있습니다. 테스트  환경은 다음과 같습니다. Windows 10 Pro 64bit 다음 순서로 설명합니다. 1. 비주얼 스튜디..

java 예제 - 16진수 문자열(hex string)와 바이트 배열(byte array)간 변환하는 방법 [내부링크]

16진수 문자열과 바이트 배열간의 변환하는 방법을 소개합니다. String 타입의 변수 hexString에 16진수 문자열 01020304FF11을 대입합니다. String hexString = "01020304FF11"; hexStringToByteArray 메소드를..

Windows 10에 .Net Framework 3.5 설치하는 방법 [내부링크]

한컴오피스 NEO 설치 과정에서 .Net Framework 3.5 설치가 진행되다가 오류가 나는 바람에 한컴 오피스를 깔 수 없었습니다. 그래서 다른 방법으로  .Net Framework 3.5를 설치하는 방법을 찾아 해결했습니다. 출..

Ubuntu 16.04 / 16.04.2에서 노트북 절전모드(suspend) 이후 WIFI 문제 해결 [내부링크]

우분투에서 와이파이 사용 중 노트북 덮게를 닫아놓았다가 다시 사용하려하면  발생하는 와이파이 관련 문제 해결 방법을 설명하고 있습니다. 와이파이 사용자체가 불가능해지거나 와이파이 사용은 가능한데 현재..

Windows에서 Android 개발 환경 준비하기(Android Studio 설치) [내부링크]

윈도우에서 안드로이드 스튜디오를 설치하고 프로젝트 생성하는 과정을 다룹니다.  안드로이드 SDK 설치 요령과 새로운 안드로이드 프로젝트 생성 및 기존 프로젝트를 불러오는 방법도 소개하고 있습니다. 1. 안..

Windows 10 설치용 UEFI 지원 부팅 USB 만드는 방법 [내부링크]

UEFI 모드로 부팅이 가능하도록 설치용 윈도우 USB를 만드는 방법을 설명합니다. 최초 작성. 2017. 4. 9 최종 수정. 2020. 11. 4 Windows 10 Version 20H2 ( October 2020 Update ) 버전을 사용시 바뀐점을 반영했..

Android KitKat(4.4) 이하 버전에서 Google Map 사용시 Unable to get provider com.google.firebase.provider.FirebaseInitProvider [내부링크]

Android KitKat(4.4) 이하 버전에서 Google Map관련 API를 사용한 앱을 실행하려 할 경우 Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException 에러가..

nexus 5에 Factory Image 올리기 [내부링크]

Nexus 5에 CyanogenMod를 올려 사용하다가 다시 순정(공장 출하 상태)으로 돌아오기 위해서 Factory Image를 올려보았습니다. Nexus와 Pixel 폰을 위한 Factory Image는 다음 사이트에 공개되어있습니다.  진행..

Atmel Studio 7.0에서 시뮬레이터 사용하기( Simulator ) [내부링크]

Atmel Studio 7.0에서 제공하는 시뮬레이터를 사용하여 간단한 소스 코드를 디버깅해보았습니다.  실행된 코드에 의해서 레지스터들이 어떻게 변하는지 확인할 수 있습니다.   http://www.atmel.com/tools/ATMEL..

Ubuntu 16.04에 Qt 5.10 개발환경 구축 [내부링크]

Ubuntu Linux 16.04에  미리 빌드되어 나오는 qt 설치 파일을 다운로드 받아 설치 후, 간단한 예제 코드를 작성하여 터미널에서 컴파일 하는 과정을 다루었습니다. 1. http://download.qt.io/archive/qt/ 에서 최..

Windows 환경에서 그래픽 드라이버가 지원하는 OpenGL 버전 확인하기 [내부링크]

OpenGL Extensions Viewer을 다운로드 받아 설치합니다.. http://realtech-vr.com/admin/glview 문제가 있으면 아래 사이트에서 다운로드 받으면 됩니다. http://www.download3k.ro/Install-OpenGL-Extensions-Vie..

이클립스(Eclipse) + ADT 기반 프로젝트를 Android Studio로 불러오기(import) [내부링크]

예전에 Android Studio에서 빌드 시스템을 gradle으로 변경한지 얼마 안되었을 때에는 기존 이클립스 + ADT로 만들었던 프로젝트들을 가져오기가 힘들었는데..  언제부터인가 이클립스 + ADT로 작성된 프로젝..

Raspberry Pi 4에서 캐릭터 LCD 사용하는 방법 ( wiringpi ) [내부링크]

라즈베리파이 4에 캐릭터 LCD를 연결하여 사용하는 방법을 설명합니다. 2017. 02. 19 최초작성 2021. 02. 05 라즈베리파이 4에서 진행 필요한 부품은 다음과 같습니다. 캐릭터 LCD 1602 핀헤더 1 x 40p, 2.54mm..

TCP 소켓 통신으로 Raspberry Pi에서 Arduino UNO에 연결된 LED 제어하기 [내부링크]

아두이노 우노에 ESP8266 WiFi 모듈을 연결하고 TCP 서버 프로그램을 실행한 후,  라즈베리파이에서 TCP 클라이언트 프로그램으로 접속하여 아두이노에 연결된 LED를 제어하는 예제입니다. 아두이노에서 사용한..

OpenGL과 MFC 연동 예제( GLEW 사용, Dialog 기반, OpenGL 3.x 코드) [내부링크]

OpenGL 렌더링 결과를 보여주기 위해 필요한 윈도우(UI)와 OpenGL 컨텍스트 생성을 MFC로 처리하는 방법을 설명합니다. 64비트 윈도우(x64)에서 OpenGL 3.x 이상 API를 사용하여 프로그래밍을 하는 경우를 대상으..

OpenGL과 MFC 연동 예제( GLEW 사용, Dialog 기반, OpenGL 2.x 코드) [내부링크]

OpenGL 렌더링 결과를 보여주기 위해 필요한 윈도우(UI)와 OpenGL 컨텍스트 생성을 MFC로 처리하는 방법을 설명합니다. 64비트 윈도우(x64)에서 OpenGL 2.x  API를 사용하여 프로그래밍을 하는 경우를 대상으로..

Modern OpenGL 강좌 - 사각형 그리기(렌더링, Element Buffer Object) [내부링크]

이번 포스팅에서는 OpenGL에서 사각형을 그리는 방법을 설명합니다. 지난번 삼각형 그렸던 코드를 수정하여 진행합니다. Modern OpenGL 강좌 - 삼각형 그리기( 렌더링, Vertex Array Object, Vertex Buffer Object..

Modern OpenGL 강좌 - GLFW와 GLEW 라이브러리 기본 사용방법 [내부링크]

GLFW 라이브러리를 사용하여 윈도우와 OpenGL context를 생성하고 GLEW 라이브러리를 사용하여 윈도우를 단색으로 채우는 간단한 예제를 설명합니다. 본 포스팅에 있는 예제 코드를 컴파일하기 위해 필요한 Visual..

Visual Studio 2019에 OpenGL 개발 환경 만들기 ( GLFW / GLEW ) [내부링크]

Visual Studio Community 2019에서 GLFW 라이브러리를 사용하여 OpenGL 개발을 시작하기 위해 필요한 설정 방법을 다룹니다. 다른 Visual Studio 버전에서도 거의 동일하게 설정 가능합니다. 1. 프로젝트 생성 2...

Android RecyclerView 아이템 클릭 이벤트 구현 [내부링크]

RecyclerView에서 아이템 클릭시 해당 내용을 다른 액티비티에 보여주는 예제입니다. 최초작성 2019. 2. 17 최종작성 2019. 8. 22 1. RecyclerView 기본 예제 코드는 다음 포스팅을 참고하세요. Android RecyclerV..

RecyclerView Grid Layout에서 이미지 일정한 크기로 보여주기 [내부링크]

RecyclerView에 GridLayoutManager를 적용하여 그리드를 만든 후 이미지 크기가 일정하게 보이지 않는 문제를 해결했습니다. 1. RelativeLayout를 상속한 SquareLayout 클래스를 추가합니다. package com.tistory...

Android RecyclerView를 사용하여 GridView 구현하기 [내부링크]

RecyclerView를 사용하는데 익숙하다면 그리드뷰를 금방 만들 수 있습니다. Android RecyclerView 간단한 예제 https://webnautes.tistory.com/1214 기존에 사용하던 LinearLayoutManager  대신에 GridLayoutMana..

이미지뷰에서 이미지 위아래에 공백이 생기는 문제 해결 [내부링크]

이미지뷰에 사진을 넣었을때 상하에 공백이 생기는 문제가 생길 수 있습니다. 세로 방향의 이미지는 문제가 없는데 가로로 회전된 이미지만 이런 현상이 발생합니다. 레이아웃 파일의 ImageView에 android:adjustV..

텐서플로우 기초 강좌 - 1. 간단한 수식 계산 [내부링크]

Tensorflow의 저수준 API인 텐서플로우 코어 사용방법을 다루고 있습니다. 

OpenCV에서 바이너리 이미지를 파일로 저장하기 [내부링크]

OpenCV에서 바이너리 이미지로 변환한 후, 텍스트 파일로 저장하는 방법을 다룹니다. 이후 엑셀에서 불러와 한 셀에 하나의 픽셀값이 들어가도록 합니다. 다음 이미지를 입력으로 해서 OpenCV를 사용하여 얻은 텍..

OpenCV에서 1비트 이미지 저장하기 [내부링크]

imwrite 함수로 저장하면 바이너리 이미지라도 그레이스케일(8비트 1채널) 이미지로 저장됩니다. imwrite 사용시 IMWRITE_PNG_BILEVEL 옵션을 추가해주면 1비트 1채널 이미지로 저장할 수 있습니다. 1비트 이기 때..

OpenCV Python 강좌 - 10. Harris Corner Detection [내부링크]

이미지에서 코너 검출시 사용하는 해리스 코너에 대해 알아봅니다. Harris Corner Detector 구현 코드입니다. import cv2 as cv import numpy as np import time img_color = cv.imread('chessboard.jpg', cv.IMRE..

OpenCV에서 캡처한 영상을 pyQt5 윈도우에 보여주기 [내부링크]

OpenCV에서 캡처한 영상을 pyQt5로 작성된 GUI에서 보여주는 방법을 다룹니다. 깃허브에 있는 코드를 수정하여 사용했습니다. 처음 실행하면 버튼 2개만 보입니다. start 버튼을 클릭하면 웹캠 영상이 보입니다. C..

Tensorflow 강좌 - Tensorboard 간단한 사용방법 [내부링크]

텐서보드를 사용하여 텐서플로우의 그래프를 그리는 방법을 설명합니다. 1. 그래프를 그릴 코드를 실행합니다. 노드 생성시  name 아규먼트를 사용하여 노드에 이름을 지정해주면  tensorboard 사용시 노드에 해..

OpenCL 사용 여부에 따른 OpenCV 성능 비교 테스트 [내부링크]

OpenCL 사용 여부에 따라 OpenCV 성능이 어떻게 달라지는지 테스트해보았습니다. 테스트는 다음과 같이 진행했습니다. OpenCL을 활성화 한 상태에서 소벨을 10000번 진행하고 ocl::setUseOpenCL(true); for (int i..

Tensorflow 강좌 - 텍스트 분류( Text classification )를 위해 뉴럴 네트워크 학습 시키기 [내부링크]

본 포스팅에서는 케라스(tf.keras)를 사용하여 텍스트로 작성된 리뷰를 긍정적 또는 부정적 영화 리뷰로 분류합니다. 클래스가 두 개인 바이너리 분류(binary classification) 입니다. 본 포스팅은 다음 텐서플로..

Raspberry PI에서 보낸 문자열을 Arduino UNO에 연결된 캐릭터 LCD에 보여주기( ESP8266 사용) [내부링크]

라즈베리파이에서 보낸 문자열을 아두이노 우노에 연결된 캐릭터 LCD에 보여주는 예제입니다. 아두이노 우노에 연결된 ESP8266을 사용하여 TCP 소켓 통신을 합니다. 진행하기 전에 다음 포스팅을 참고하여 아두이..

TensorFlow 강좌 - Fashion MNIST 분류를 위해 뉴럴 네트워크 학습 시키기 [내부링크]

본 포스팅은 Fashion MNIST(의류, 가방, 신발등의 이미지)를 분류하기 위해 케라스(tf.keras)를 사용하여 뉴럴 네트워크 모델을 학습시키는 방법을 설명합니다. 다음 문서를 기반으로 제작했습니다. Basic classif..

OpenCV Python 강좌 - Watershed 알고리즘을 사용한 영상 분할(Image Segmentation) [내부링크]

Watershed 알고리즘을 사용하여 영상 분할(Image segmentation) 하는 방법에 대해 설명합니다. 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.opencv.org/4.0.1/d..

OpenCV Python 강좌 - Distance Transform [내부링크]

거리 변환(Distance Transform)은 바이너리 이미지(Binary Image)에서  픽셀값이 0인 배경으로부터의 거리를 픽셀값이 255인 영역에 표현하는 방법입니다. 배경으로부터 멀리 떨어져 있을 수록 높은 픽셀 값을 가..

OpenCV Python 강좌 - 8. Hough Line Transform [내부링크]

Hough Line Transform 구현 원리에 대해서 다룹니다. 유튜브에서 사용한 코드입니다. import cv2 as cv import numpy as np import math import time img_original = cv.imread('square.jpg', cv.IMREAD_COLOR) im..

성능 좋은 얼굴 인식(Face Recognition) 라이브러리 테스트 [내부링크]

깃허브에 공개되어 있는 파이썬 기반 얼굴 인식 라이브러리를 테스트해보았습니다. 1. dlib를 설치합니다.(시간이 오래 걸립니다.) pip3 install dlib 2. Face Recognition 라이브러리를 설치합니다. pip3 install..

Wifi를 사용하여 Android Studio에 Android Device 연결하기 [내부링크]

USB 케이블 없이  WiFi를 사용하여 안드로이드 스튜디오에서 안드로이드 디바이스를 디버깅 및 앱 설치하는 방법을 설명합니다. 처음 연결시에는 USB 케이블이 필요하고 이후 WiFi로 연결되는 방식입니다. 1. 안..

Python으로 배우는 Modern OpenGL - 3. 사각형 그리기( Element Buffer Object) [내부링크]

PyOpenGL과 GLFW를 사용하여 사각형을 그려보는 Modern OpenGL 예제입니다. 다음 깃허브의 코드를 바탕으로 강좌를 진행하고 있습니다. https://github.com/totex/PyOpenGL_tutorials Python으로 배우는 Modern Op..

OpenCV Python 강좌 - 2차원 히스토그램과 Histogram Backprojection [내부링크]

이미지에서 2차원 히스토그램을 구하는 방법과 응용으로 Histogram Backprojection을 설명합니다. 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.opencv.org/4.0...

OpenCV Python 강좌 - 히스토그램(Histogram) [내부링크]

이미지에서 히스토그램을 구하는 방법과 응용으로 Histogram Equalization, CLAHE을 설명합니다. 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.opencv.org/4.0.0..

NDK 업데이트 후 undefined reference to cv::CascadeClassifier::detectMultiScale 에러 해결 방법 [내부링크]

NDK 18부터는 gnustl을 지원하지 않고 대신 libc++를 사용합니다. 하지만 Android에서 OpenCV를 사용하려면 gnustll을 사용해야 되서 발생하는 에러입니다. 해결하는 방법은 두가지입니다. 다음 포스팅에 나오는대..

Python으로 배우는 Modern OpenGL - 2. 삼각형 그리기(Vertex Buffer Object) [내부링크]

PyOpenGL과 GLFW를 사용하여 삼각형을 그려보는 Modern OpenGL 예제입니다. 다음 깃허브의 코드를 바탕으로 강좌를 진행하고 있습니다. https://github.com/totex/PyOpenGL_tutorials Python으로 배우는 Modern Op..

Python으로 배우는 Modern OpenGL - 1. 개발환경 만들기 [내부링크]

Python에서 OpenGL을 동작시켜야 하는 필요성을 느껴서 PyOpenGL, glfw를 설치하고 예전에 작성했던 포스팅에 있는 코드를 Python으로 변환해서 실행시켜 보려했는데 잘 안되네요. C++ 코드에서는 glew를 사용했었..

OpenCV Python강좌 - 컨투어(Contour) 검출 및 특성 사용하기 [내부링크]

컨투어 검출하는 방법과 컨투어 특성을 사용하는 방법을 다룹니다. 사용하는 OpenCV 버전에 따라 findContours 함수의 사용 방법이 다음처럼 차이가 있습니다. OpenCV 4.x contours, hierarchy = cv.findContour..

PyCharm에서 OpenCV 4.0.1 사용하는 방법( Windows / Ubuntu ) [내부링크]

Python용 IDE인 PyCharm에서 OpenCV 최신버전을 사용하는 방법을 설명합니다.  Windows 10과 Ubuntu 18.04에서 진행했습니다. 아래 포스팅에서 소개하고 있는 pip를 사용하여 OpenCV를 설치해오다가 이번에 릴리..

Android 용으로 OpenCV 4.4.0 빌드하는 방법 (Build OpenCV 4.4.0 for Android ) [내부링크]

Android용으로 OpenCV 4.4.0을 빌드하는 방법을 다룹니다. 2018. 11. 19 : 최초 작성 2019. 5. 8 2019. 5. 15 : contrib 추가 2019. 5. 16 : nonfree 옵션 추가 (surf 사용시 필요) 2019. 5. 16 : opencl 활성화 ..

TensorFlow 예제 - Keras + OpenCV를 사용하여 실제 손글씨 숫자 인식 [내부링크]

첫번째 코드를 실행시켜서 손글씨 숫자 MNIST 데이터로 훈련을 시킨 후, 두번째 코드에서 실제 손글씨 이미지를 로드하여 인식시켜보았습니다. 관련 최근 포스트 [Machine Learning & Deep Learning/Tensorflow 강..

리눅스용 무료 화면 녹화 프로그램 - SimpleScreenRecorder [내부링크]

SimpleScreenRecorder는 리눅스에서 사용할 수 있는 화면 녹화 프로그램입니다. 우분투에서 화면 캡쳐를 해보려고 찾은 프로그램인데 사용법이 단순해서 좋은 듯 합니다. 우분투 외의 리눅스 배포판에서는 아래 링..

mjpg-streamer를 사용한 웹 스트리밍을 OpenCV에서 가져오기 [내부링크]

라즈베리파이에 mjpg-streamer를 설치하여 웹 스트리밍하는 영상을 가져와서 OpenCV에서 사용해보았습니다. Raspberry Pi에서 mjpg-streamer를 사용하여 웹캠 스트리밍하기 http://webnautes.tistory.com/1261 사..

Raspberry Pi에서 mjpg-streamer를 사용하여 웹캠 스트리밍하기 [내부링크]

라즈베리파이에 연결된 카메라로부터 캡쳐된 영상을 웹브라우저에서 볼 수 있도록 mjpg-streamer를 사용하는 방법을 설명하고 있습니다. 다음 블로그 글을 참고하여 진행했습니다. https://desertbot.io/blog/how-..

OpenCV Python 강좌 - 에지 검출( Edge detection ) [내부링크]

Sobel 함수를 사용하여 에지를 검출하는 방법을 설명합니다. 마지막 업데이트 - 2018. 10. 16 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.opencv.org/3.4.3/d6..

OpenCV Python 강좌 - 모폴로지 연산 (Morphological Operations) [내부링크]

OpenCV에서 제공하는 Erosion, Dilation, Opening, Closing 연산하는 함수들을 다룹니다. 보통 바이너리 이미지(Binary Image)에서 흰색으로 표현된 오브젝트의 형태를 개선하기 위해 사용됩니다. 마지막 업데이트..

텐서플로우 색 인식 테스트 ( Tensorflow Color Recognition Test ) [내부링크]

텐서플로우를 사용한 색 인식 코드를( Color Recognition ) 테스트해본 결과입니다. 코드 출처 : https://github.com/dedo24397/ColorClassifier 2018. 10. 14 최초작성 2021. 02. 14 최종작성 - Python 3.7, Tens..

OpenCV Python 강좌 - Smoothing(Blurring) [내부링크]

이미지 블러링은 이미지를 로우 패스 필터 커널로 컨벌루션하는 것입니다. 이미지에서 고주파인 노이즈가 흐려지게 됩니다. 이때 같은 고주파인 선도 같이 흐려지게 됩니다. 마지막 업데이트 - 2018. 10. 11 다음..

OpenCV Python 강좌 - 영상 이진화(binarization, thresholding) [내부링크]

threshold 함수와 adaptiveThreshold함수를 사용한 영상 이진화를 다루고 있습니다. 마지막 업데이트 - 2018. 10. 5 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://doc..

OpenCV Python 강좌 - Perspective Transformation [내부링크]

warpPerspective 함수를 사용하여 퍼스펙티브 변환(Perspective Transformation)을 구현합니다. 퍼스펙티브 변환에서 원본 이미지의 모든 직선은 출력 이미지에서 직선으로 유지됩니다. 퍼스펙티브 변환 행렬을 찾..

OpenCV Python 강좌 - Affine Transformation [내부링크]

warpAffine 함수를 사용하여 아핀 변환(Affine Transformation)을 구현합니다. 아핀 변환에서 원본 이미지의 모든 평행선은 출력 이미지에서 여전히 평행합니다. 아핀 변환 행렬을 찾으려면 입력 이미지의 3점과..

OpenCV Python 강좌 - 이미지 확대 / 축소 하기 [내부링크]

resize() 함수를 사용하여 이미지를 확대 및 축소하는 방법을 다루고 있습니다. 마지막 업데이트 - 2018. 10. 3 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.op..

OpenCV Python 강좌 - 이미지 이동 / 회전 하기 [내부링크]

warpAffine함수를 사용하여 이미지를 이동 및 회전하는 방법을 다루고 있습니다. 마지막 업데이트 - 2018. 10. 3 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https://docs.o..

Android Google Map에 현재 위치 표시하기( FusedLocationProviderClient 사용) [내부링크]

FusedLocationProviderClient를 사용하여 Google Map에 현재 위치를 표시하는 예제입니다. 2018. 10.2 2019. 7. 19 androidx 관련 내용 추가 2019. 8. 15 SupportMapFragment로 변경 2020. 9. 12 테스트 및 수정 (..

OpenCV Python 강좌 - 동영상의 배경 제거하고 움직이는 물체 검출 하기 ( Background Subtraction ) [내부링크]

동영상의 배경을 제거하고 움직이는 물체를 검출하는 데 사용할 수 있는 Background Subtraction 예제 입니다. OpenCV에서 제공하는 Background Subtraction 알고리즘 중 하나인 BackgroundSubtractorMOG2를 사용..

음성인식, Google Cloud Speech-to-Text API 사용해보기 [내부링크]

Google Cloud Speech-to-Text API 서비스 계정 키를 발급받아서 샘플 코드를 실행하는 방법을 설명합니다. 결제 신용카드를 등록해야 할 수 있습니다. 2018. 9. 21 최초작성 2020. 11. 3 최종작성 1. Cloud Speech..

OpenCV Python 강좌 - 마우스 클릭으로 HSV 색공간에서 특정색 추출하기 [내부링크]

원본 RGB 영상에서 마우스 클릭하면 해당 색에 대응하는  HSV 공간의 색을 계산하여 일정 범위내로 색을 추출하는 예제입니다. 마지막 업데이트 - 2018. 10. 23 포스팅 내용을 개선하여 웹캠 영상에서 파란색 물..

OpenCV Python 강좌 - 두 개의 이미지 더하기, 블렌딩 [내부링크]

이미지의 투명도를 조정하여 두 개의 이미지가 겹쳐보이게 하는 블렌딩(Blending)을 다룹니다. 마지막 업데이트 - 2018. 9. 18 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. h..

OpenCV C++ 차선인식 코드 [내부링크]

깃허브에 있는 차선인식 파이썬 코드를 C++로 변환후 분석해 본 결과물입니다. 원본 코드  https://github.com/georgesung/road_lane_line_detection/blob/master/lane_lines.py 최초 작성 - 2018. 9. 17    ..

Tensorflow 강좌 - Neural Network를 이용하여 실제 손글씨 숫자 인식해보기(MNIST) [내부링크]

뉴럴 네트워크(Neural Network)를 사용하여 직접 촬영한 손글씨 이미지로부터 숫자를 인식시켜 보았습니다. 지난번 포스팅과 데이터 훈련 시키는 방식만 다르기 때문에 1 ~ 6 번까지는 동일한 내용입니다. Tensorf..

OpenCV Python 강좌 - 이미지 채널 분리 및 합치기(split, merge) [내부링크]

이미지를 채널별 이미지로 분리하는 방법과 채널별 이미지를 합치는 방법을 설명합니다. 마지막 업데이트 - 2018. 9. 14 다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다. https:/..

Android 갤러리에 있는 이미지 파일을 PC JAVA 서버로 전송하기 [내부링크]

안드로이드 갤러리에 있는 JPG 이미지 파일을 PC의 자바 서버 프로그램으로 전송하는 예제입니다. 최근들어 관련 질문이 많아져서 만들어봤습니다. 참고하세요. 기존 포스팅의 코드를 수정해서 사용해야 합니다...

파이썬 웹 크롤링(Web Crawling) 강좌 - 3. 네이버 베스트셀러 책이름, 저자, 가격 출력하기 [내부링크]

네이버 베스트셀러 주간 순위에 있는 책의 정보를 가져오는 예제입니다. 첫페이지에 있는 25권의 책목록에서 링크를 추출하여 각 추출된 링크로 접속하여 책이름, 저자, 가격 정보등을 출력합니다. 최초 작성 2018..

Tensorflow 강좌 - Logistic Regression를 이용하여 실제 손글씨 숫자 인식해보기(MNIST) [내부링크]

Logistic Regression을 사용하여 직접 촬영한 손글씨 이미지로부터 숫자를 인식시켜 보았습니다. 텐서플로우 2.0에서 텐서플로우 1.x 코드를 실행하는 방법을 설명합니다. Tensorflow 2.0에서 Tensorflow 1.x 코드..

예제로 배우는 텐서플로우 강좌 - 7. 훈련된 모델 파라미터 저장하기 [내부링크]

입력 데이터를 사용한 훈련이 완료된 후, 변수(tf.Variable)에 저장되어 있는 모델 파라미터를 파일로 저장했다가 필요시 불러와 사용하는 방법을 다루고 있습니다. MNIST를 기반으로 손글씨를 인식시키려고 진행..

예제로 배우는 텐서플로우 강좌 - 6. Logistic Regression( MNIST 데이터를 이용한 손글씨 인식 ) [내부링크]

텐서플로우로 구현한 Logistic Regression입니다. MNIST 데이터를 가지고 손글씨 이미지를 훈련시키는 과정을 설명하고 있습니다. 다음 포스팅에서는 실제 손글씨를 촬영한 이미지를 인식하도록 해봅니다. 다음 사..

Tensorflow 예제 - tf.reduce_mean 함수 사용법 [내부링크]

저수준 API로 작성된 MNIST 코드에서 사용하는 tf.reduce_mean 함수에 대해 살펴봅니다 import tensorflow as tf x = tf.constant([[1., 3.], [2., 6.]]) sess = tf.Session() print(sess.run(x)) print(sess.run(..

Tensorflow 예제 - tf.argmax 함수 사용법 [내부링크]

저수준 API로 작성된 MNIST 코드에서 사용하는 tf.argmax 함수에 대해 살펴봅니다. 2018. 8.29 최초작성 2020. 8. 1 내용 확인 및 Tensorflow 2.x에 맞게 수정 tf.argmax 두번째 인자값의 범위는 [-rank(input), r..

Tensorflow와 OpenCV를 PyCharm 프로젝트에서 같이 사용하는 방법 [내부링크]

텐서플로우를 위한 가상환경(Virtualenv)에서 OpenCV를 사용할 수 있도록 라이브러리 파일을 복사해와야 합니다. 두가지 방법이 있습니다. OpenCV 소스코드로부터 컴파일 pip를 이용하여 설치 OpenCV 소스코드로부..

Tensorflow 예제 - MNIST 데이터 출력해보기 [내부링크]

MNIST에 포함되어 있는 손글씨 이미지와 이미지가 의미한 숫자를 기록해 놓은 라벨을 출력해보는 방법을 설명합니다. 예전에 보았던 텐서플로우 초보자 가이드(?)에선 28 X 28 사이즈의 이미지를 크기 784(=28x28)..

예제로 배우는 텐서플로우 강좌 - 5. Linear Regression [내부링크]

텐서플로우로 구현한 Linear Regression입니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다. https://github.com/aymericdamien/TensorFlow-Examples 텐서플로우 2.0에..

예제로 배우는 텐서플로우 강좌 - 4. 행렬(matrix) 계산 [내부링크]

텐서플로우에서 행렬 계산하는 방법을 설명합니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다. https://github.com/aymericdamien/TensorFlow-Examples 텐서플로우 2.0..

DLib를 사용하여 Android에서 얼굴 검출(Face Landmarks Detection)하는 예제 [내부링크]

DLib를 사용하여 Android에서 얼굴 검출(Face Landmarks Detection)하는 방법을 진행하여 보았습니다. 캡처 버튼을 클릭하여 사진을 찍고, 검출 버튼을 눌러서 얼굴을 검출합니다. 인터넷에서 찾아본 결과와 달리..

예제로 배우는 텐서플로우 강좌 - 3. 플레이스 홀더(Placeholder) [내부링크]

플레이스 홀더(tf.placeholder)에 대해 알아봅니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다. https://github.com/aymericdamien/TensorFlow-Examples 텐서플로우 2...

예제로 배우는 텐서플로우 강좌 - 2. 텐서플로우의 기본 동작 [내부링크]

간단한 계산을 하는 텐서플로우 프로그램을 통해 어떻게 동작하는지 알아봅니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다. https://github.com/aymericdamien/Tensor..

예제로 배우는 텐서플로우 강좌 - 1. 안녕, 텐서플로우 출력 [내부링크]

첫번째 예제는 텐서플로우를 사용하여 “Hello, Tensorflow!”를 화면에 출력합니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다. https://github.com/aymericdamien/Te..

안드로이드 런타임 퍼미션(Runtime Permission) 예제 [내부링크]

안드로이드 6.0 마시멜로 ( API 23 ) 이상부터 안드로이드 디바이스의 자원을 사용하려면 런타임 퍼미션( runtime permissions)이 필요합니다. 본 포스팅에서는 런타임 퍼미션을 체크하고 요청하는 방법을 설명하..

Android Snackbar vs Toast 예제 [내부링크]

간단한 메시지를 보여주기 위해 사용되는 Snackbar와 Toast의 동작을 비교해보는 예제 코드입니다.   Toast는 지정한 일정시간이 지나야 화면에서 사라지지만  Snackbar의 경우에는 사용자의 입력에 반응하여 바..

Android FrameLayout 예제 [내부링크]

Recyclerview를 스크롤시 현재 화면에 보여지는 첫번째 데이터 인덱스와 마지막 데이터의 인덱스를 보여주는 테스트해보기 위해 작성되었습니다. 다음 포스팅의 코드를 기반으로 변경 및 추가해야 할 부분만 설명..

Android RecyclerView에 데이터를 추가/편집/삭제하는 예제 [내부링크]

RecyclerView에서 데이터를 추가/삭제/편집할 수 있도록 구현한 예제입니다. 아래 포스트를 수정하여 진행합니다. 아래 포스트를 먼저 진행하세요. Android RecyclerView 간단한 예제 http://webnautes.tistory.co..

Android에서 BottomNavigationView 사용하기 [내부링크]

안드로이드 앱에  BottomNavigationView(Bottom Navigation Bar)를 추가하는 방법을 설명합니다. BottomNavigationView(Bottom Navigation Bar) 는 Design Support Library v25에서 추가되었습니다. Bottom Navig..

Android에서 SVG 아이콘 사용하기 [내부링크]

Android에서 SVG 아이콘을 사용하는 방법을 다룹니다. 1. https://material.io/tools/icons/에서 원하는 아이콘을 찾습니다. 찾은 아이콘을 선택하고나서  왼쪽 아래에 보이는 Selected Icon을 클릭합니다. 2. 아..

Android에서 Google Calendar API 사용하는 방법 [내부링크]

Google Calendar에 캘린더를 생성하고 이벤트를 추가 및 이벤트 리스트를 가져오는 예제코드 입니다. 1. Google Calendar API 사용 설정 2. AndroidManifest.xml 3. build.gradle 4. activity_main.xml 5. MainAct..

안드로이드 달력 예제( android custom calendar example ) [내부링크]

날짜 선택 가능한 달력 예제입니다. 다음 링크에 있는 캘린더 라이브러리를 사용합니다. https://github.com/ApplikeySolutions/CosmoCalendar 2018.07.27 최초작성 ~~~~~~~~ 2020. 01. 06 androidx로 변경 새로운..

Android RecyclerView 간단한 예제 [내부링크]

Custom Adapter를 사용하여 RecyclerView를 구현하는 방법을 설명합니다.  최초작성 2018. 7. 23 최종작성 2019. 8. 22 실행화면입니다. 데이터 추가 버튼을 눌러주면 아이템이 RecyclerView에 추가됩니다. 화면..

Android Google Map의 Marker Icon 변경하기 [내부링크]

안드로이드 구글맵의 마커 아이콘을 PNG 이미지로 변경하는 방법을 다룹니다. 1. Google Map을 위한 Android 프로젝트 생성 2. 프로젝트에 PNG 이미지 파일 추가하기 3. 구글맵 마커 변경하기 2018.  7. 18 - 최..

Windows 10에서 웹 개발 환경 만들기 ( WampServer : MariaDB, PHP, MySQL, PhpMyAdmin ) [내부링크]

윈도우에 Apache2 + PHP + MariaDB 조합으로 웹서버를 쉽게 구축할 수 있게 도와주는 WampServer 설치 및 사용방법을 다루고 있습니다. 2018. 7 . 12 최초 작성 2019. 11. 17 2020. 07. 16 MySQL 설치 방법 변경됨..

Windows에서 PyCharm을 사용하여 Python2와 Python3 동시에 사용하기 [내부링크]

Windows에 Python2와 Python3를 같이 설치하여 사용하는 방법을 설명합니다. 1. Python 설치 2. PyCharm 설치 3. Virtualenv 사용하도록 프로젝트 생성 4. 설치되어 있는 파이썬을 직접 사용하도록 프로젝트 생성..

Visual Studio 2017에서 C/C++를 위한 콘솔 프로젝트 생성하는 방법 [내부링크]

Visual Studio 2017에서 C/C++를 위한 콘솔 프로젝트를 작성하는 방법을 설명합니다. Visual Studio 2017 설치하는 방법은 다음 포스팅을 참고하세요 C++, Win32 API, MFC 개발을 위해 Visual Studio Community 20..

Visual Studio 2017에서 WinAPI 프로젝트 생성하는 방법 [내부링크]

Visual Studio 2017에서 WinAPI(  Windows API )를 사용한 프로그램을 작성하는 방법을 설명합니다. Visual Studio 2017 설치하는 방법은 다음 포스팅을 참고하세요 C++, Win32 API, MFC 개발을 위해 Visual Stud..

Windows에 Python2, Python3 설치 하는 방법 [내부링크]

Windows 10에 Python2와 Python3를 설치하는 방법을 소개합니다.  배포 중인 최신 버전이 글 작성 시점과 다를 수 있습니다. 1. Python 3 설치 2. Python 2 설치 3. Python 2와 Python 3 함께 사용하기 2018. 7...

ArrayList, ArrayAdapter와 ListView - 3. Custom Adapter를 구현하는 방법(ViewHolder, getView ) [내부링크]

간단하게 ArrayList, ArrayAdapter와 ListView를 같이 사용하는 방법을 다루었던 첫번째 포스팅의 코드를 수정하여 진행합니다 ArrayList,  ArrayAdapter와 ListView - 1. 기본적인 사용 방법 http://webnautes.t..

NumPy를 사용하여 두 개의 배열을 같은 순서로 무작위 섞기 [내부링크]

주어진 데이터셋을 신경망에서 학습을 시키기 전에 특징(feature)와 레이블(label)을 무작위로 뒤섞을 필요가 있습니다. 정렬된 데이터셋을 그대로 사용하면 학습이 잘 되지 않을 수 있기 때문입니다. 특징과 레이..

OpenCV를 사용하여 바닥에 놓인 트럼프 카드(Playing Card) 인식하기 [내부링크]

OpenCV를 사용하여 바닥에 놓은 트럼프 카드를 인식하는 간단한 프로젝트를 만들어 보았습니다. 실행결과와 코드 설명은 유튜브 영상을 참고하세요. 테스트에 사용한 이미지입니다.

웹크롤링 강좌 - 기상청의 동네예보 가져오기 [내부링크]

이번 영상에서는 뷰티플수프를 사용하여 기상청의 동네예보를 웹크롤링합니다. from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("https://www.weather.go.kr/weather/forecast/..

Tensorflow 설치시 에러 - [WinError 32] 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다: [내부링크]

텐서플로우를 삭제했다가 재설치시 다음과 같은 에러가 나는 경우가 있습니다. Uninstalling setuptools-40.8.0: Could not install packages due to an EnvironmentError: [WinError 32] 다른 프로세스가 파일을..

PyCharm 에러 - 'pip'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. [내부링크]

프로젝트가 생성된 경로에 한글 폴더 이름이 포함되어 있는 경우 PyCharm의 터미널에서 pip 명령을 사용시 다음과 같은 에러가 날 수 있습니다. 같은 버전의 PyCharm과 python을 사용하는데도 테스트한 PC에 따라..

Tensorflow 에러 - ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다 [내부링크]

최종 수정 2020. 6. 21 텐서플로우를 설치한 후, 텐서플로우 모듈시 다음과 같은 에러가 발생할 수 있습니다. >>> import tensorflow as tf ........................................................ ImportErro..

윈도우10에 KoNLPy 설치하는 방법 [내부링크]

한글 형태소 분석을 위해 사용되는 KoNLPy(“코엔엘파이”)를 설치해서 테스트 해보았습니다. 최초작성 2020. 1. 11 1. 자바 JDK를 설치합니다. 여기에선1.8을 설치했습니다. https://www.oracle.com/technetwork/..

Tensorflow 2.0에서 Tensorflow 1.x 코드 실행하기 [내부링크]

텐서플로우 2.0에서 Session 사용 방법만 바뀐지 알았는데 디폴트로 자동으로 생성되던 Graph가 사라졌나봅니다. Graph를 따로 생성해줘야 하는군요. 예전에 질문에 답했던 내용인데 포스트로 정리해봅니다.  imp..

NumPy 강좌 - np.sum 함수에서 axis 의미 [내부링크]

NumPy 함수를 사용하다보면 axis 아규먼트를 사용하는 것이 있습니다. 어떤 의미일까 고민해보다가 적어봅니다. 최초 작성 2019. 11. 7 넘파이 모듈을 임포트 하고 크기 2 x 3 x 4인 넘파이 배열에 0~23까지 숫자..

텐서플로우 2.0 강좌 - 케라스를 사용하여 손글씨 숫자 분류를 위한 신경망 만들기 [내부링크]

손글씨 숫자 분류를 하는 신경망을 만드는 케라스 예제를 다루고 있습니다.

OpenCV [ WARN:0] terminating async callback 해결 방법 [내부링크]

OpenCV Python API를 사용하여 카메라로부터 영상을 캡처하는 경우.. 프로그램 종료시 보이는 메시지입니다. 프로그램을 실행하는데 문제가 없어서 무시해도 되지만.. 다음처럼 해서 안보이도록 할 수 있습니다...

C++, Python, Android에서 OpenCV의 Extra 모듈과 nonfree 모듈 사용하는 방법 [내부링크]

C++, Python, Android에서 OpenCV의 Extra 모듈과 nonfree 모듈 사용하는 방법을 정리해보았습니다. 추가할 내용이나 틀린 점이 있으면 댓글로 알려주시면 감사하겠습니다. 현재 다음 두 개의 깃허브에서 OpenCV가..

Android를 위한 TensorFlow Lite 예제 (MNIST 손글씨 숫자 인식) [내부링크]

Android에서 TensorFlow Lite를 사용하여 카메라에 비춘 손글씨 숫자를 인식시켜보았습니다. 조명환경이나 카메라 차이로 인해 결과가 달라서 이진화 부분의 아규먼트를 수정할 필요가 있을 수 있습니다.

GitHub의 하위 디렉토리 다운로드하기 [내부링크]

깃허브의 저장소에서 특정 하위 디렉토리만 다운로드 하는 방법을 설명합니다. 최초 작성 2019. 10. 8 opencv를 위한 깃허브 저장소에서 samples / python 에 있는 tutorial_code 디렉토리만 다운로드 해봅니다...

"파이썬과 NumPy로 배우는 선형대수" 책 출간 이벤트 ( ~ 2019. 10. 14) [내부링크]

안녕하세요. 웹나우테스입니다. 그동안 "멈춤보단 천천히라도" 블로그에 방문해주신 여러분 덕에 "파이썬과 NumPy로 배우는 선형대수" 책을 출간하였습니다. 감사하는 마음으로 열 분에게 책을 나누어 드리려고 합..

TensorFlow와 OpenCV를 사용하여 웹캠에 비춘 손글씨 숫자 인식하기 [내부링크]

Tensorflow와 OpenCV를 사용하여 웹캠에 비춘 손글씨 숫자를 인식시켜보았습니다. 최초 작성 2019. 10. 1 관련 최근 포스트 [Machine Learning & Deep Learning/Tensorflow 강좌] - Keras와 OpenCV를 사용하여 손..

TCP 소켓을 사용하여 웹캠의 이미지를 송수신하는 서버/클라이언트 예제(Python example - Send Webcam image to client over a TCP socket) [내부링크]

파이썬의 TCP 소켓을 사용하여 웹캠에서 캡쳐한 이미지를 전송하는 서버와 클라이언트를 간단히 만들었습니다. 웹캠으로부터 이미지 캡쳐는 OpenCV를 사용하였습니다. 서버에는 두 종류의 쓰레드를 생성합니다. 웹..

파이썬 소켓 프로그래밍 - 클라이언트 / 서버 예제 [내부링크]

파이썬에서 소켓을 사용한 TCP 서버/클라이언트 예제에 대해 다룹니다. 클라이언트가 서버에 접속하여 통신이 시작되는 방식입니다.  1. TCP 소켓      2. 간단한 에코 서버, 클라이언트 예제      3...

Visual Studio 2017/2019에서 OpenCV 프로젝트 설정을 템플릿으로 만들기 [내부링크]

Visual Studio 2017/2019에서 OpenCV 프로젝트 설정을 템플릿을 만들어서 새로운 OpenCV 프로젝트를 쉽게 만들 수 있는 방법을 다룹니다. 2019. 9. 16 최초작성 2020. 8. 17 Visual Studio 2019 반영 다음 포스트..

OpenCV를 사용하여 책 검출하기(book detection with OpenCV) [내부링크]

안녕하세요. 웹나우테스입니다 : ) OpenCV를 사용하여 책을 검출한 후, 정면에서 본 장면으로 변환합니다.

OpenCV를 사용하여 손 검출 및 인식하기(Hand Detection and Recognition using OpenCV) [내부링크]

OpenCV를 사용하여 손을 검출 및 인식하는 방법에 대해 다룹니다. 현재 두가지 방법으로 코드가 작성되었습니다. Background Subtraction을 사용한 방법과 HSV 공간에서 살색을 검출한 방법입니다.  다음 에러가..

미러 주소(Mirror)를 변경하여 Raspbian의 패키지 다운로드 속도 올리기 [내부링크]

미러 주소를 변경하여 라즈비안에서 패키지 다운로드 속도를 올리는 방법을 소개합니다. 최초작성 2019. 8. 29 https://www.raspbian.org/RaspbianMirrors 에서 South Korea를 찾아 주소를 복사합니다. 여기에서는..

Android 스위치 버튼(Switch Button) 예제 [내부링크]

안드로이드에서 옵션 활성화 여부를 사용자에게 결정하도록 하는데 사용하는 스위치를 추가해보았습니다. 깃허브에서 스위치 버튼 라이브러리를 찾아서 구현하고 나서.. 스위치가 안드로이드 기본 라이브러리가 포..

텐서플로우 2.0 강좌입니다. [내부링크]

다음 깃허브에 있는 텐서플로우 2.0 예제코드를 분석해보려합니다. https://github.com/aymericdamien/TensorFlow-Examples/tree/master/tensorflow_v2 최초작성 2019. 8. 28 최종작성 2019. 9. 1 우선 다음 명령..

OpenCV 강좌 - 안드로이드 폰에서 딥러닝 네트워크(deep learning network) 실행하기 (Caffe) [내부링크]

OpenCV의 딥러닝 모듈을 사용하여 안드로이드폰에서 딥러닝 네트워크를 실행하는 방법을 소개합니다. MobileNet-SSD detection network를 caffee로 구현한 것을 안드로이드 폰에서 실행시켜 봅니다. OpenCV 튜토리..

Python에서 코드 실행 시간 측정(perf_counter, process_time, timeit) [내부링크]

파이썬에서 코드 실행시간을 측정하는 방법을 찾아 테스트해보았습니다. 파이썬 3.3+ 이상부터 perf_counter와 process_time를 사용할 수 있는데 차이점은 다음과 같습니다. perf_counter는 sleep 함수를 호출하여..

VirtualBox에 설치된 Ubuntu에서 웹캠(webcam) 사용하는 방법 [내부링크]

버추얼박스에 설치된 우분투에서 웹캠을 사용하는 방법을 다룹니다. 최초작성 2019. 8. 23 버추얼박스의 가상머신 창에 있는 메뉴를 보면 아래 스크린샷처럼 장치 > 웹캠에서 컴퓨터에 연결되어 있는 웹캠이 보입..

Places SDK for Android 사용해보기 [내부링크]

현재 위치 주변의 장소정보를 가져오는 Places SDK for Android의 예제를 실행시켜 보았습니다. 사용한 원본 코드는 아래 링크에 있습니다. v.3.x BETA 버전과 v.2.x 버전 예제가 구분되어 존재합니다.  https://..

Visual Studio Code를 사용하여 Python 프로그래밍 환경 만들기( Tensorflow, OpenCV를 위해 사용 가능해짐) [내부링크]

Visual Studio Code를 사용하여 Python 프로그래밍 환경을 만드는 방법을 다루고 있습니다. pip를 사용하여 Tensorflow와 OpenCV를 설치하면 Visual Studio Code를 사용하여 프로그래밍이 가능해집니다. 그동안 사..

안드로이드 예제 - 알람 보여주기 위해 화면을 켜는 방법(PowerManager.WakeLock) [내부링크]

안드로이드폰이 꺼진 상태에서 발생한 알람 메시지를 화면에 보여주기 위해 화면을 켜는 방법을 소개합니다. 다음 포스트에서 매일 정해진 시간에 알람이 울리도록하는 앱을 소개했었습니다. Android 알람 앱 예제..

Android 알람 앱 예제(AlarmManager, NotificationManager, SharedPreferences) [내부링크]

매일 일정한 시간마다 알람이 울리는 안드로이드 앱을 만들었습니다. 구현 내용은 다음과 같습니다. 매일 설정해놓은 시간에 알람 소리가 울리고 노티피케이션을 띄웁니다. 노티피케이션을 선택시 앱이 실행됩니다..

일기장 앱을 만들어 봤습니다. [내부링크]

기본 기능에 충실한 일기장 앱을 만들어 봤습니다. 하루글이라고 이름 붙였는데 검색 순위가 높지 않네요. 특이한 이름을 붙여야 검색 순위가 높아질 가능성이 있다네요. 하루글에는 현재 다음 기능이 구현되어..

Android 강좌 - 컨스트레인트 레이아웃를 사용해보자 (ConstraintLayout) [내부링크]

어떻게 사용하는지 알기 어려웠던 컨스트레인트 레이아웃에 조금 친숙해진 기념으로 만든 영상입니다. 다음 순으로 영상이 올라가게 됩니다.  도움이 되었으면 좋아요와 구독을 해주세요. 감사..

OpenCV 강좌 - Camshift 이론과 C++ 예제(Camshift example code in C++) [내부링크]

간단히 Camshift 이론을 설명하고 webcam과 video 영상에 ROI를 지정하여 동작하도록 C++로 작성된 Camshift 예제 코드를 동작시켜 봅니다. #include #include using namespace cv; using namespace std; // 아래..

OpenCV 강좌 C++ & Python - 컨투어 영역에 텍스쳐 넣기(applying texture in a contour area) [내부링크]

이미지에서 검출된 컨투어 영역에 특정 이미지를 텍스쳐로 넣는 예제입니다. 실행시키면 다음처럼 검출된 원 모양 컨투어 내부에 이미지 일부를 보여줍니다. 최초작성 2019. 7. 23 최종작성 2019. 8. 18 테스트에..

OpenCV에서 이미지의 픽셀에 접근하는 방법 [내부링크]

OpenCV에서 이미지의 픽셀에 접근하는 방법을 픽셀 개념부터 설명합니다. 추가로 C++에서 OpenCV 이미지의 픽셀에 접근하는 방법을 비교 소개하고 있는 다음 글도 참고하세요. OpenCV C++ 강좌 - 4. Mat에 ..

텐서 플로우 2.0 강좌 1 - 텐서플로우 설치 [내부링크]

텐서플로우 2.0 베타를 설치해보고 간단한 예제를 실행시켜 봅니다. 최초 작성 2019. 7. 14 다음 명령으로 Tensorflow 2.0 Beta 패키지를 설치합니다. 글 작성시점에서는 아직 정식 버전이 아닙니다. pip install..

android.support.v7.app.AppCompatActivity import 에러 발생시 해결방법 [내부링크]

우선 안드로이드 스튜디오로 프로젝트 생성시 Use androidx.* artifacts 항목이 체크해제 되어있나 확인해보세요. 다음 캡쳐화면처럼 해당 항목이 비활성화 되어 있다면.. SDK Manager에서 Android 9.+(Q)를 체크..

java.lang.ClassNotFoundException Didn't find class "com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" [내부링크]

플레이스토어에서 다운로드 받아 처음 실행하면 무조건 에러나고 두번째 실행시에는 문제 없는 현상에 대한 해결방법입니다. 다행히 안드로이드 스튜디오의 로그캣에서 에러 메시지를 확인할 수 있었습니다...

OpenCV 강좌 - Meanshift 이론과 C++ 예제(meanshift example code in C++) [내부링크]

간단히 Meanshift 이론을 설명하고 webcam과 video 영상에 ROI를 지정하여 동작하도록 C++로 작성된 Meanshift 예제 코드를 동작시켜 봅니다.   2019. 7. 2 2019. 7. 29 히스토그램생성시 Hue만 사용하도록 수정..

OpenCV 예제 - 웹캠 영상에 실시간 ROI 하기( Select ROI on Real Time webcam video) [내부링크]

웹캠 영상에 실시간으로 ROI 하는 예제입니다. #include #include using namespace cv; using namespace std; bool mouse_is_pressing = false; int start_x, start_y, end_x, end_y; int step = 0; Mat img_color..

OpenCV 강좌 - Haar Cascades에 대해 알아보자. [내부링크]

얼굴 인식에 사용하는 Haar Cascades에 대해 간단히 알아보았습니다. 아직 공부중이라 정확하지 않은 내용이 있을 수 있습니다 ;; 최초 포스팅 2019. 6. 28 Haar Cascade는 머신 러닝기반의 오브젝트 검출 알고리..

OpenCV를 사용하여 얼굴에 선글라스 씌우기 [내부링크]

OpenCV를 사용하여 얼굴에 선글라스를 씌우는 방법을 소개합니다. 테스트에 사용한 이미지입니다. Visual Studio 2019를 기준으로 소스코드(main.cpp)가 있는 폴더에 두개의 xml 파일과 png 파일을 복사해..

Raspberry Pi 3에서 Servo Motor 제어하기 [내부링크]

라즈베리파이3에서 서보 모터를 제어하는 방법을 다룹니다. Python 언어와 C 언어로 다루는 방법을 설명하며 이후 웹캠과 초음파 센서를 얹어 사용할 예정입니다. 2019. 6. 3 (영상은 업로드 중입니..

해리스 코너를 사용한 이미지 매칭(Image feature matching with Harris Corner Detection) [내부링크]

해리스 코너 디텍터를 사용하여 검출한 코너점을 사용하여 두 장의 이미지를 매칭하는 예제입니다. 코너점의 방향을 기준으로 이미지 패치를 회전시키서 매칭점인지 비교하기 때문에 다른 부분의 코너점인데 매칭..

MinGW + Visual Studio Code에서 OpenCV 사용하는 방법 [내부링크]

최근 업데이트된 글이 있습니다. Visual Studio Code에서 MinGW를 사용하여 OpenCV 코드 컴파일 하는 방법 https://webnautes.tistory.com/1443 Visual Studio Code에서 OpenCV 코드를 컴파일하기 ..

Windows 10 IoT Core 설치 후 Raspberry Pi 3에서 무선랜(WiFi) 사용하는 방법 [내부링크]

대시보드에서 마우스 우클릭하여 장치 포털 열기를 선택합니다. 장치 포털 페이지에서 왼쪽에보이는 Connectivity > Network를 선택하고 오른쪽에서 접속할 무선 공유기(AP)를 선택합니다. 아래쪽에 보이는 Key..

Android OpenCV 예제 - SURF를 사용한 오브젝트 검출 테스트 [내부링크]

안드로이드에서 Surf를 사용하여 이미지를 매칭하는 예제입니다. 우선 다음 포스트 내용을 진행하여 안드로이드용 OpenCV를 새로 빌드해서 사용해야 합니다. Android용 OpenCV 빌드하는 방법(contrib 포함) https:..

Android NDK + OpenCV 관심영역(ROI)에 영상처리하는 예제 [내부링크]

카메라로부터 캡처된 영상에  관심영역(ROI)을 지정하여 영상처리 하는 예제입니다.  위치는 텍스트로된 코드에서 확인하고 코드 복사는 코드블록에 있는 것을 사용하세요. 업데이트 2019. 5. 11 유튜브 영상 또..

Ubuntu 18.04에서 블루투스 안되는 경우 해결 방법 [내부링크]

패키지 업데이트 후.. 블루투스를 사용할 수 없게 되어서 해결방법을 찾아봤습니다. PPA에서 최신 버전 bluz를 다운로드 받아 설치하면 해결됩니다. 다음 저장소를 추가하고 sudo add-apt-repository ppa:bluetoot..

MinGW + Sublime Text 3에서 OpenCV 사용하는 방법 [내부링크]

가벼워서 자주 사용하게 되는 Sublime Text 3에서 OpenCV 프로그래밍이 가능하도록 해보았습니다. 영상 만들고 나니 Visual Studio Code도 되겠구나 싶어지네요^^; 코드마다 매번 새로운 프로젝트..

Visual Studio 2019에서 C/C++를 위한 콘솔(console) 프로젝트 생성하는 방법 [내부링크]

Visual Studio 2019에서 C/C++를 위한 콘솔 프로젝트를 만드는 방법을 설명합니다.

Visual Studio 2019용으로 OpenCV 4.1.0 빌드 하기 (Extra 모듈 contrib 포함) [내부링크]

Visual Studio 2019에서 사용하기 위해 OpenCV를 빌드하는 방법을 다룹니다. Extra 모듈인 contrib를 포함시켜 빌드합니다. Python 용이 필요하면 진행하기 전에 Python을 설치하세요. 빌드 후 자동으로 파이썬의..

C/C++, Win32 API, MFC 개발을 위해 Visual Studio Community 2019 설치하는 방법 [내부링크]

 C/C++, Win32 API, MFC 개발을 위해 Visual Studio Community 2019를 설치하는 방법을 다룹니다.  

Raspberry Pi에서 쉽게 코드 작성하는 방법(Sublime Text 3 사용) [내부링크]

우선 MobaXterm이 필요합니다. 아직 사용안한다면 다음 링크에서 Home Edition을 다운로드 받아 설치하세요. MobaXterm은 SSH 접속 할 수 있는 터미널 프로그램으로 터미널 환경에서 Raspberry Pi에 있는 GUI 프로..

OpenCV Python 예제 - 컨투어 내부의 색 검출하기(Detect color inside contour area) [내부링크]

색깔있는 도형에  도형의 색 이름을 표시해주는 예제 코드입니다. 컨투어로 도형 내부 영역을 검출한 다음 평균으로 도형의 색을 계산합니다. 그리고 미리 지정해놓은 색들과 거리를 계산하여 가장 가까운 색으로..

파이썬 기초 강좌 [내부링크]

비교적 최근에 파이썬에 익숙해진 경험을 살려 뭐해볼까 하다가 기초 파이썬 강좌를 만들기 시작했습니다. 제 나름의 방식대로 진행할꺼라 어떨지 모르겠네요 : )  1. 프로그래밍이 뭔가요?  2. 소스코드는 ..

VMware에 Ubuntu 설치하기( Install Ubuntu using VMware on Windows 10 ) [내부링크]

윈도우에 VMware를 설치하고 가상머신을 생성하여 Ubuntu를 설치하는 방법을 설명합니다.

Visual Studio 2017에서 GLS(GNU Scientific Library) 사용하기 [내부링크]

Visual Studio 2017을 위해 미리 컴파일된 GLS 라이브러리를 사용해본 결과입니다.. GNU 공식 홈페이지(https://www.gnu.org/software/gsl/ )에서는 소스 코드 패키지만 배포하고 있기 때문에   사용하려면 플랫..

VirtualBox 가상 머신이 부팅 안될 때 해결 방법 Failed to load unit 'vga' (VERR_SSM_LOADED_TOO_MUCH). [내부링크]

가상 머신 종료시 "현재 시스템 상태 저장하기"로 종료한 경우 간혹 부팅이 안되는 경우가 있습니다. 에러메시지를 확인시 다음과 같은 메시지가 보일때 해결방법입니다. Failed to load unit 'vga' (VERR_SSM_..

Unable to instantiate activity 에러 해결방법 [내부링크]

새로운 라이브러리를 프로젝트에 추가한 다음 다음과 같은 에러가 발생했습니다. 문제가 없는 코드인데 이상하다 싶어서 에러 메시지들을 검색해본 결과 원인을 찾았습니다. Process: com.tistory.webnautes.examp..

다음(카카오) 지도 안드로이드 API 사용하는 방법 & 현재 위치 표시 [내부링크]

다음(카카오) 지도를 안드로이드에서 사용하기 위해 필요한 작업과 지도에 현재 위치를 표시하는 예제를 포함하고 있습니다. . 최초 작성 2019. 3. 6 최종 작성 2019. 9. 26 준비 작업부터 앱 실행까지 설명합니다..

커스텀 리스트뷰를 안드로이드 다이얼로그에 보여주기( add custom listview in an android alertdialog ) [내부링크]

이미지와 텍스트가 포함된 커스텀 리스트뷰를 안드로이드의 다이어로그(alertdialog)에 보여주는 예제입니다. 리스트뷰에서 항목을 선택시 액티비티의 뷰에 선택한 항목을 보여주도록 구현되었습니다. 다음처럼 실..

안드로이드 예제 - 자유 영역 지정하여 이미지 자르기 ( android free crop of image) [내부링크]

이미지에서 자유 영역을 지정한 부분을 자르는 예제입니다. 다음 링크에 있는 코드를 사용했습니다. https://stackoverflow.com/questions/18439246/android-free-cropping-of-image 다음처럼 동작합니다. 1. 처음..

Android 예제 - 현재 위치 주소 가져오기(Get current location without google map) [내부링크]

LocationManager와 Geocoder를 사용하여 현재 위치에 대한 주소를 가져오는 예제입니다. 구글맵을 사용하지 않고 현재 위치를 가져오는 방법입니다. 2019. 3. 3 - 최초작성 2019. 11. 21 - androidx로 변경 다음..

Android 예제 - 모서리가 둥근 ImageView + CardView 만들기 [내부링크]

CardView에 모서리가 둥근 ImageView를 꽉채우는 방법과 CardView에 모서리가 둥근 ImageView와 TextView를 함께 추가하는 방법을 소개합니다. RecyclerView의 아이템으로 사용하면 UI가  깔끔해지집니다. 먼저 C..

Android 예제 - 모서리 둥근 버튼 만들기( MaterialButton ) [내부링크]

매터리얼(Material) 컴포넌트인 MaterialButton를 사용하여 모서리가 둥근 버튼을 만드는 방법입니다. 1. build.gradle에 com.android.support:design을 추가합니다. dependencies {    implementation fileTre..

Android 예제 - 앱 설치시 홈 화면에 아이콘 추가하는 방법 [내부링크]

앱 설치시 홈 화면에 아이콘을 설치하는 방법을 다룹니다. Android 8.0 API 28에서도 동작하는 방법입니다. 1. AndroidManifest.xml 매니페스트 파일에 다음 권한을 추가합니다. 2. MainActivity.java 파일의 onCr..

Android PdfBox 예제 - 이미지와 텍스트를 PDF로 저장하기 [내부링크]

Android에서 PdfBox 라이브러리를 사용하여 이미지와 텍스트를 PDF로 저장하는 예제입니다. 최초작성 - 2019. 2. 23 다음 글에서 작성했던 앱의 내용을 PDF로 저장하도록 수정해보았습니다. Android ScrollView 예..

Android SQLite 테이블 생성 문제 및 SQLiteOpenHelper 사용 방법 [내부링크]

Android에서 SQLite를 사용하여 테이블 생성시 문제가 생겼던 점을 포스팅합니다. SQLiteOpenHelper를 상속받은 클래스를 사용하여 데이터베이스 파일을 관리하지 않으면 생길 수 있는 상황인 듯합니다. 다음과 같..

Android Spinner 예제 - 이미지 추가하기 [내부링크]

스피너에 이미지를 추가하는 예제입니다. 실행시키면 다음처럼 화면 중앙에 스피너가 보입니다. 디폴트로 사과가 선택된 상태입니다. 스피너를 터치하면 선택 가능한 목록에 이미지와 문자열이 같이 보입니다. 항..

Android SimpleDateFormat 예제 - 현재날짜 년, 월, 일, 요일 출력하기 [내부링크]

SimpleDateFormat를 사용하여 현재 날짜를 출력하는 예제입니다.        Date currentTime = Calendar.getInstance().getTime();        SimpleDateFormat weekdayFormat = new SimpleDateFormat("E..

Android 런처 아이콘 변경하기 [내부링크]

안드로이드 앱 설치후 보이는 런처 아이콘을 변경하는 방법을 다룹니다. 최초 작성 2019. 2.24 다음 링크에서 받은 구름 모양 png 이미지 파일을 사용했습니다. https://www.flaticon.com/free-icon/cloud_149209#..

안드로이드 앱의 이름 변경하기 [내부링크]

application 태그의 android:label과 activity 태그의 android:label의 값에 다른 이름을 지정하고 테스트를 진행해보았습니다. <?xml version="1.0" encoding="utf-8"?>    package="com.tistory.webnautes.my..

Android ScrollView 예제 - ImageView와 TextView를 함께 스크롤하는 방법 [내부링크]

ScrollView 내부에 ImageView와 TextView를 같이 넣어서 화면 스크롤시 이미지와 텍스트 뷰가 스크롤되도록 구현한 예제입니다. 최초 작성 2019. 2. 21 실행시키면 다음 처럼 동작합니다. 예제를 실행시키면  위..

안드로이드 예제 - 갤러리에서 이미지 불러와 이미지뷰에 보여주기 [내부링크]

이미지뷰를 클릭하면 갤러리 또는 포토에 있는 이미지를 가져와 이미지뷰에 보여주는 예제입니다. 작성  2019. 2. 20 수정  2019. 4. 25 1. 실행시키면 이미지 뷰에 미리 지정해놓은 디폴트 이미지가 보입니다...

Android Toolbar 예제 - 화면 터치하면 툴바 보여주기 [내부링크]

화면을 터치하면 툴바를 보여주는 Toolbar 예제입니다. 다음처럼 동작합니다. 화면을 터치할 때 마다 툴바가 보여졌다 안보여졌다합니다. 아이콘을 선택하면 어떤 메뉴를 선택했는지 보여줍니다. 오른쪽 아이콘을..

Ubuntu 20.04 부팅시 검은화면이 보이는 경우 해결방법 [내부링크]

우분투 부팅시 검은화면이 나온 경우 해결한 방법을 소개합니다. 전에도 같은 증세가 있어서 우분투를 재설치 했었는데 원인을 찾았습니다. 2021. 7. 8 최초작성 윈도우와 멀티 부팅으로 우분투를 사용하는 경우..

Ubuntu 20.04에 Miniconda 설치 후, Tensorflow와 OpenCV 설치하기 [내부링크]

Ubuntu 20.04에 Miniconda 설치 후, Tensorflow와 OpenCV 설치하는 방법을 다룹니다. 2021. 7. 7 최초작성. 2021. 7. 8. 다시 검토(conda activate 실행 안되는 문제 해결, 가상환경 위치관련 수정) 참고 https://..

C 예제 - 소켓 서버 / 클라이언트 예제 ( pthread 버전 ) [내부링크]

pthread를 사용하여 수신하는 문자열을 출력해주도록 작성된 소켓 서버 / 클라이언트 예제입니다. 원본 코드 출처는 아래 깃허브 저장소입니다.  https://github.com/shineyr/Socket 실행 결과는 다음과 같습니다..

C 예제 - CSV 파일 읽기 [내부링크]

CSV 파일을 줄단위로 읽어서 공백을 제거한 후, 컬럼 별로 나누어서 출력하는 예제입니다. 다음 3곳의 코드 참고하여 작성했습니다. https://stackoverflow.com/questions/12911299/read-csv-file-in-c https://st..

Keras - Data Augmentation 이미지로 확인해보기 [내부링크]

Keras에서 사용하는 Data Augmentation을 이미지로 출력하여 확인해봅니다. 2021. 06. 29 최초작성 rotation_range=60 0~ 60도 사이의 임의의 각도로 이미지를 회전시킵니다. fill_mode를 nearest로 선택했기 때문..

UserWarning: Possibly corrupt EXIF data [내부링크]

Keras로 학습하는 도중에 "UserWarning: Possibly corrupt EXIF data"라는 경고가 보였습니다. 무시해도 될거 같았지만 구글링하여 이미지의 EXIF 데이터를 제거하여 해결했습니다. (  https://stackoverflow.co..

손글씨 숫자 인식하여 세븐 세그먼트에 출력하기 [내부링크]

종이에 쓴 손글씨 숫자를 인식하여 세븐 세그먼트에 출력하는 프로젝트를 만들어봤습니다. 2021. 6. 16 최초작성

Raspberry Pi에서 load_model로 h5 파일 로드시 OSError: SavedModel file does not exist 에러 해결 방법 [내부링크]

Raspberry Pi에서 Tensorflow의 load_model을 사용하여 h5 파일 로드시 다음과 에러가 날 경우 해결방법입니다. OSError: SavedModel file does not exist at: ./model.h5/{saved_model.pbtxt|saved_model...

Raspberry Pi 4에 Tensorflow 2.4 설치하기 [내부링크]

Raspberry Pi 4에 Tensorflow를 설치하는 데에는 문제가 없었는데 $ pip3 install tensorflow Tensorflow 모듈을 임포트하려고 하니 에러가 발생했습니다. $ python3 Python 3.7.3 (default, Jul 25 2020, ..

Raspberry Pi 4 - Python으로 7 Segment 제어하기 [내부링크]

Python의 RPi.GPIO 모듈을 사용하여 Raspberry Pi 4에 연결한 7 Segment에 0 ~ 9 숫자를 표시하는 방법을 다룹니다. 2021. 6. 13 최초작성 우선 필요한 패키지를 설치해줍니다. sudo apt install rpi.gpio 설치에..

윈도우 환경에서 OpenCV의 VideoCapture가 웹캠 오픈이 늦은 경우 해결 방법 [내부링크]

로지텍 웹캠 C920 처럼 특정 웹캠의 경우 윈도우에서 OpenCV를 사용하여 웹캠으로 부터 영상을 가져오려고 하는 경우 일정시간을 기다려야 영상이 보이기 시작할 수 있습니다. 2021. 6. 10 최초작성 이 경우 벡엔..

FFmpeg를 사용하여 webcam을 RTSP 스트리밍 하여 OpenCV에서 확인하기 [내부링크]

FFmpeg를 사용하여 webcam을 RTSP 스트리밍하고 OpenCV에서 해당 영상을 확인하는 과정을 다룹니다. 2021. 6. 10 최초작성 1. 아래 링크에서 rtsp-simple-server windows 버전을 다운로드받아 적당한 곳에 압축을..

Python에서 C언어 스타일의 조건 처리 전처리문 사용하기 [내부링크]

Python에서 C언어 스타일의 조건 처리 전처리문을 사용하는 방법을 다룹니다. 2021. 6. 9 최초작성 설치 pip3 install pypreprocessor 설치시 에러 나는 경우 해결 방법 ( https://hbesthee.tistory.com/1661 ) gi..

Unknown: OSError: cannot identify image file [내부링크]

이미지 분류를 하려고 하는데 model.fit 부분에서 다음과 같은 에러가 발생했습니다. tensorflow/core/framework/op_kernel.cc:1755] Unknown: OSError: cannot identify image file 2021. 6. 7 최초작성 2021. 8...

Python - lambda 예제 코드 [내부링크]

2021. 5. 29 최초작성 # 일반적으로 함수를 호출하여 사용하는 방법입니다. def add(x, y): return x + y ret = add(10, 21) print(ret) # lamda에서 함수를 호출하여 사용합니다. ret = (lambda x, y: add(x, y))..

Visual Studio Code와 WSL 연동하여 C/C++ 컴파일 및 디버깅하기 [내부링크]

Visual Studio Code와 WSL ( Windows Subsystem for Linux ) 를 연결하여 C/C++ 컴파일 및 디버깅하는 방법을 다룹니다. 2021. 5 .23 최초작성 2021. 8. 1 윈도우에 Visual Studio Code를 설치합니다. Visual Stud..

Ubuntu에서 Chrome으로 트위터 사용시 한글 오류 발생 [내부링크]

우분투에서 크롬으로 트위터에 접속하여 한글로 글을 남기려면 오타가 많이 나서 사용하지 못할 정도네요. 한글 입력기를 바꾸어보면 해결된다고 해서 kime, uim 등으로 바꾸었지만 문제가 해결되지 않았습니다...

Ubuntu에서 darknet을 사용하여 Yolo v4 커스텀 학습하는 방법 [내부링크]

Ubuntu에서 darknet을 사용하여 Yolo v4 커스텀 학습하는 방법을 다루고 있습니다. 2021. 05. 16 최초작성 2021. 05. 28  darknet 설치후 Yolo v4 테스트 0. CUDA 및 OpenCV를 먼저 설치해야 합니다. Ubuntu 20.0..

텐서플로우 강좌 - 텍스트 분류(text classification) [내부링크]

디스크에 저장되어 있는 텍스트 파일을 입력으로 사용하여 텍스트 분류를 해봅니다. IMDB 데이터셋을 가지고 감성 분석 (Sentiment analysis)을 위해 이진 분류를 학습시킵니다. 텐서플로우 튜토리얼을 보며 작성..

AWS 프리 티어 가입부터 EC2 생성 및 SSH 접속까지 [내부링크]

AWS(Amazon Web Services)를 1년 동안 무료로 사용할 수 있는 프리 티어 가입부터 EC2 인스턴스 생성 및 SSH 접속까지 다룹니다. 2021. 05. 03 최초 작성 AWS 프리 티어를 사용하려면 계정을 우선 만들어야 합니다..

Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1 설치 [내부링크]

Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1을 설치하는 방법을 다룹니다. NVIDIA 그래픽 카드 드라이버 설치 CUDA 11.2 설치 cuDNN 8.1.0 설치 OpenCV 4.5.1 설치   2021. 04. 24 최초작성 2021. 05...

Raspberry Pi Pico C++ 프로그래밍 - USB Serial 예제 [내부링크]

Raspberry Pi Pico에서 USB Serial을 사용하여 터미널로 문자열을 전송하는 예제입니다. 2021 04. 24 - 최초작성 진행하기 전에 다음 포스트를 먼저 진행해야 합니다. Windows에서 Raspberry Pi Pico C++ 프로그래..

MinGW 용으로 OpenCV 4.5.1 빌드 및 Visual Studio Code에서 사용하는 방법 [내부링크]

MinGW 용으로 OpenCV 4.5.1을 빌드하고 Visual Studio Code에서 OpenCV 코드를 컴파일하는 방법을 다룹니다. 2021. 4. 21 최초작성 1. 아래 링크에서 x86_64-posix-seh를 다운로드하여 설치합니다. https://source..

JavaScript를 사용하여 웹브라우저에서 RTSP 영상 재생하기 [내부링크]

JavaScript를 사용하여 웹브라우저에서 RTSP 영상을 재생하는 예제입니다. 2021. 04. 04 최초작성 1. FFmpeg를 다운로드 받습니다. https://www.gyan.dev/ffmpeg/builds/ 압축을 풀어 C:\ffmpeg에 둡니다. C:\ff..

Windows에서 Raspberry Pi Pico C++ 프로그래밍 하기 [내부링크]

Windows에서 Raspberry Pi Pico C++ 프로그래밍을 하기 위해 필요한 작업들을 정리합니다. 아직 작성 중입니다. 2021. 3. 30 최초작성 2021. 4. 03 개별 프로젝트 빌드 방법 추가 참고한 문서에서는 Visual Studio..

C++ 배열(array)과 벡터(vector) 속도 비교 [내부링크]

C++에서 배열(array)와 벡터(vector)의 속도를 비교해보았습니다. 테스트 환경은 Ubuntu 20.04와 Visual Studio 2019입니다. 2021. 3. 27 최초작성 아래 링크를 보고 궁금해져서 간단히 테스트를 해보았습니다. ht..

Visual Studio Code에서 JavaScript 실행을 위한 개발 환경 만들기 [내부링크]

Visual Studio Code에서 JavaScript를 실행하는 방법을 다룹니다. 2021. 03. 23 최초작성 1. 윈도우용 Node.js 설치 파일을 다운로드 받아 설치합니다. 아래 링크에서 Windows Installer (.msi) 항목에 있는 것 중..

Windows 10에서 Node.js 사용해보기 [내부링크]

윈도우에서 Node.js를 설치하고 Hello World 예제를 실행시켜봅니다. 2021. 03. 22 - 최초작성 1. 윈도우용 Node.js 설치 파일을 다운로드 받아 설치합니다. 아래 링크에서 Windows Installer (.msi) 항목에 있는..

Visual Studio Code에서 GDB 원격 디버깅하는 방법 [내부링크]

Visual Studio Code에서 GDB를 사용하여 원격 디버깅하는 방법을 다룹니다. 진행을 위해 호스트는 윈도우가 설치된 노트북, 타겟은 라즈베리파이3를 사용했습니다. 2021. 2. 28 최초작성 관련 포스팅 GDB를 사용한..

GDB를 사용한 원격 디버깅 [내부링크]

GDB를 사용하여 원격 디버깅하는 방법을 다룹니다. 진행을 위해 호스트는 윈도우가 설치된 노트북, 타겟은 라즈베리파이3를 사용했습니다. 2021. 2. 28 최초작성 GDB는 대부분의 Linux 시스템에 사용되는 텍스트..

C++ shared_ptr 객체를 전달받은 함수에서 사용 후 해제하는 방법 [내부링크]

shared_ptr 객체를 전달받은 함수에서 사용 후, 자원이 해제되는지 확인한 결과입니다. 아직 C++에 익숙하지 못해서 제 맘대로 바꿔보면서 감을 익히는 중입니다. 2021. 02. 15 - 최초작성 shared_ptr 객체를 생성..

Visual Studio 2019용으로 libiconv 빌드하기 및 utf8 <-> cp949 변환 예제 [내부링크]

Visual Studio 2019용으로 libiconv 빌드하는 방법을 다룹니다. 본 포스팅에서는 Visual Studio 2019를 사용하여 진행하지만 Visual Studio 2008, 2010, 2015, 2017 용도 준비되어 있습니다. 같은 방식으로 진행하..

Visual Studio 2019에서 MySQL/MariaDB C API 예제 사용하기 [내부링크]

Visual Studio 2019에서 MySQL/MariaDB C API를 사용하는 간단한 예제를 테스트해보았습니다. 2021. 02. 08 최초작성 아래 링크에 접속하여 MariaDB Connector/C를 다운로드합니다. Oracle에서 다운로드 받으면 로..

간단한 WPF 예제 작성해보기 [내부링크]

버튼을 클릭하면 메시지 박스를 보여주는 간단한 WPF(Windows Presentation Foundation) 예제를 작성해보았습니다. 2021. 02. 03 최초작성 Visual Studio Installer에서 .NET 데스크톱 개발을 추가하면 C# 프로그..

OpenPose를 사용하여 손가락 인식하는 OpenCV 예제 [내부링크]

오픈포즈(OpenPose)를 사용하여 손가락을 인식하는 코드를 살펴봅니다.

C# 문법 공부 001. Hello World [내부링크]

Hello World를 화면에 출력해보는 예제이다. 참고 http://www.blackwasp.co.uk/HelloWorld.aspx http://www.blackwasp.co.uk/HelloWorld_2.aspx 2021. 01. 31 - 최초 작성 2021. 02. 01 - 최종 작성 Visual Studio..

코드분석 2021년 01월 29일 CV_Assert 매크로 [내부링크]

opencv\modules\core\include\opencv2\core\base.hpp의 342번째 줄에 있는 CV_Assert 매크로를 분석해보았다. #define CV_Assert( expr ) do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_F..

C++ 예제 - INI 파일 생성하여 읽고 쓰기 [내부링크]

INI 파일 라이브러리(Leksys' INI Parser https://github.com/Lek-sys/LeksysINI )를 사용하여 INI 파일을 생성하고 값을 읽고 쓰는 예제입니다. 깃허브에서 iniparser.hpp 파일만 가져오면 예제를 동작시킬 수 있..

pthread 람다(lambda) 예제 [내부링크]

pthread의 pthread_create 함수에서 람다(lambda)를 사용한 예제입니다. 람다를 사용하면 따로 함수를 선언하지 않고 코드 내에 람다를 정의한 후, pthread_create에서 바로 사용할 수 있습니다. 주의할 점은 람다..

C++ 예제 - 파일의 전체 경로 얻기(GetFullPathName, realpath) [내부링크]

현재 폴더에 있는 지정한 파일의 전체 경로(절대 경로)를 얻는 예제입니다. 2021. 1. 14 최초작성 아래 링크에서 발견한 코드를 MinGW로 테스트하니 문제 없었지만. https://stackoverflow.com/a/17632322 #includ..

C++ 예제 - 문자열을 일정 길이로 자르기 [내부링크]

문자열을 일정 길이로 자르는 C++ 코드를 작성해보았습니다. 2021. 1. 12 - 최초작성 #include #include #include std::vector block_string(std::string input, int want_block_length) { std::vector ret; int l..

CUDA 11.0을 위해 빌드된 OpenCV 4.4.0를 Python 3.7에서 사용하기 [내부링크]

미리 CUDA 11.0을 위해 빌드되어 배포되는 OpenCV 4.4.0을 다운로드 받아 Python 3.7에서 사용하는 방법을 다루고 있습니다. 2021. 1. 12 최초 작성. 2021. 5. 19 최종 작성. nppc64_11.dll, cudnn64_8.dll 파일..

Windows 10에 CUDA Toolkit 11.2 cuDNN 8.1.0 Tensorflow 설치하는 방법 [내부링크]

Windows 10에 CUDA 11.2와 cuDNN 8.1. 그리고 Tensorflow를 설치하는 방법을 설명합니다. 2021. 1. 10 최초작성 2021. 1. 11 Tensorflow 설치 방법 추가. Tensorflow GPU 2.4.0에서 CUDA 11 요구 2021. 6. 8 Tenso..

iconv를 사용한 한글 인코딩 변환 C언어 예제 - utf8 <-> cp949 [내부링크]

utf8과 cp949(euc-kr)간에 한글 인코딩 변환을 해본 예제입니다. 2020. 01. 08 - 최초작성 Ubuntu에서 테스트를 진행하여 입력이 UTF8 입니다. cp949로 변환했다가 다시 UTF8로 변환하여 정상으로 보이는 것을 확..

Visual Studio 2019에서 pthread 사용하는 방법 [내부링크]

Visual Studio 2019에서 pthread 사용하는 방법을 다룹니다. 2021. 1. 4 최초작성 1. 아래 링크에서 pthreads-w32-2-9-1-release.zip를 다운로드 합니다. http://sourceware.org/pub/pthreads-win32/ 2. 압축을 풀..

C++ shared_ptr 예제, 사용방법 [내부링크]

C++의 shared_ptr 예제 및 사용방법을 다루고 있습니다. 아직 C++에 익숙하지 못해서 제 맘대로 바꿔보면서 감을 익히는 중입니다. 2020. 01. 01. 최초 작성 std::shared_ptr 이란 shared_ptr은 c++ 11이 제공하는..

android 카메라 동영상 녹화 예제 [내부링크]

Android 카메라 동영상 녹화 예제 코드입니다.  2020. 12. 27 최초작성 처음 시작시 권한 설정을 허용해야 합니다.  RECORD를 클릭시 카메라 녹화가 시작되며 STOP을 클릭하면 영상이 저장되고 갤러리에서 해당..

이미지에서 텍스트 영역을 찾아주는 OpenCV Python의 MSER 예제 [내부링크]

이미지에서 텍스트 영역을 찾아주는 OpenCV Python의 MSER 예제입니다. 최초작성 2020. 12. 23 import cv2 import os import numpy as np path = os.path.dirname(os.path.realpath(__file__)) + "/f.jpg" img = c..

C/C++ - 실행 파일의 절대 경로 얻는 방법 ( realpath, GetModuleFileName ) [내부링크]

linux에서는 realpath 함수, windows 에서는 GetModuleFileName 함수를 사용하여 실행파일의 절대 경로를 얻습니다. 2020. 12. 17 최초작성 2020. 01. 22 윈도우 예제코드 버그 수정. 한글 이름 디렉토리인 경우..

C++ localtime 사용하여 현재 날짜, 시간 출력하기 (Windows/Linux) [내부링크]

C++에서 현재 날짜, 시간을 출력하는 예제입니다. 2020. 12. 11 최초작성 최근 Visual Studio 2019를 업데이트한 후, 콘솔 프로젝트 만들시 sprintf_s 대신에 sprintf 사용해도 에러나지 않도록 하는 옵션 체크해..

C++ - 터미널의 특정 위치에 문자열 출력하기 [내부링크]

터미널의 특정 위치에 문자열을 출력하는 방법을 다루고 있습니다. 2020. 12. 10 최초작성 #include #include #include void printToCoordinates(int y, int x, const char* format, ...) { va_list args; va_star..

char 배열과 Mat간 변환하는 OpenCV 예제 [내부링크]

Mat 객체에 있는 이미지 데이터를 char 배열로 옮겼다가 다시 Mat 객체로 가져오는 예제입니다. 2020. 12. 10 최초작성 #include using namespace cv; int main() { // 이미지에서 버퍼 꺼내기 Mat image = imread..

Visual Studio Code에서 CMake, MinGW를 사용하여 OpenCV 코드 컴파일 하는 방법 [내부링크]

Visual Studio Code에서 손쉽게 OpenCV 코드를 컴파일하고 테스트하는 방법을 다룹니다. 2020. 12. 6 최초작성 2021. 4. 21 기본 셸 관련 에러 해결 2021. 7. 17 VIsual Studio Code 업데이트 후, CMAKE 사용시 바..

흑백 사진을 컬러 사진으로 변환하는 방법(colorization) [내부링크]

OpenCV에서 제공하는 샘플 중 하나인 colorization을 실행시켜 보았습니다. colorization는 흑백 사진을 컬러 사진으로 변환하는 방법입니다.

Python에서 OpenCV 임포트시 에러 - ImportError: numpy.core.multiarray failed to import [내부링크]

Windows10에서 Python 3.7에 OpenCV 4.4.0를 설치후 다음과 같은 에러가 날 경우 해결방법입니다. ** On entry to DGEBAL parameter number 3 had an illegal value  ** On entry to DGEHRD parameter number 2..

디렉토리 내에 있는 이미지 파일들을 하나씩 OpenCV에서 읽어서 화면에 보여주기 [내부링크]

디렉토리 내에 있는 이미지 파일들을 하나씩 OpenCV의 imread 함수로 읽어서 화면에 보여주는 예제 코드입니다. 2020. 10. 24 최초작성 소스 코드 위치에 있는 dataset 폴더에 있는 이미지 파일의 경로를 하나씩..

FFmpeg를 사용하여 하나의 동영상 파일을 다중 RTSP 스트리밍하기 [내부링크]

FFmpeg를 사용하여 하나의 동영상 파일을 다중 RTSP 스트리밍하는 방법을 다룹니다. FFmpeg를 사용하여 하나의 비디오 파일를 입력으로 8개의 RTSP URL을 생성하여 RTSP 스트리밍하는 테스트를 해본 결과입니다. 2..

Windows 10 / Ubuntu 20.04에 CUDA 설치 후, Tensorflow GPU와 OpenCV를 같이 사용하는 방법 [내부링크]

Windows 10과 Ubuntu 20.04에 CUDA Toolkit 10.1과 cuDNN 7.6.5를 설치한 후, Tensorflow GPU와 OpenCV를 같이 사용하는 방법에 대한 글이 완료되었습니다. 다음 두 개의 글을 참고하면 Windows10에 CUDA 설치 후..

Ubuntu 20.04에 CUDA를 사용하도록 OpenCV 4.4.0 설치하는 방법 [내부링크]

Ubuntu 20.04에 CUDA를 사용하도록 OpenCV 4.4.0 설치하는 방법을 다룹니다.        0. CUDA Toolkit, cuDNN 설치 1. 설치된 OpenCV 제거 2. 기존 설치된 패키지 업그레이드 3. OpenCV 컴파일 전 필요한 패..

C++ 클래스에서 static 멤버변수 초기화 [내부링크]

C++ 클래스에서 static 멤버변수를 초기화하는 방법을 다룹니다. 아직 C++에 익숙하지 못해서 제 맘대로 바꿔보면서 감을 익히는 중입니다. 2020. 9. 1. 최초작성 클래스에 static 변수를 추가하여 클래스를 이용..

Ubuntu 20.04에 OpenCV 4.4.0 설치하는 방법 [내부링크]

OpenCV 4.4.0과 opencv_contrib(extra modules)를 컴파일하여 Ubuntu 20.04에 설치하는 방법을 다룹니다. 1. 설치된 OpenCV 제거 2. 기존 설치된 패키지 업그레이드 3. OpenCV 컴파일 전 필요한 패키지 설치 4. Op..

[OpenCV / Python ] convexityDefects 함수에 convex hull indices are not monotonous ... self-intersections 에러 나는 경우 해결 방법 [내부링크]

유튜브 영상의 댓글로 코드 실행시 다음과 같은 에러가 난다고 알려주신 분이 있어서 확인해보았습니다. The convex hull indices are not monotonous, which can be in the case when the input contour contains..

OpenCV의 SIFT를 사용하여 사진 속에서 원하는 물체 찾기 [내부링크]

OpenCV에 포함되어 있는 SIFT 알고리즘을 사용하여 사진 속에서 원하는 물체를 찾는 과정을 진행해보았습니다. 특허가 만료되어 SIFT가 OpenCV 4.4.0부터는 Extra 모듈(contrib)에서 메인 모듈로 옮겨졌습니다. 별..

구글 로그인 안되고 무한 로딩시 해결방법 [내부링크]

윈도우 10에 설치된 크롬을 포함한 여러 개의 웹브라우저에서 구글 로그인이 안되는 현상을 물어봐서 원격으로 살펴보다가. 관리자 권한으로 명령 프롬프트를 실행한 후 다음 명령을 실행하고 sfc /scannow 설정에..

Visual Studio Code에서 C/C++ 프로그래밍 with Makefile ( Windows/Ubuntu) [내부링크]

Windows와 Ubuntu 환경에 설치된 Visual Studio Code에서 Makefile을 사용하여 C/C++ 코드를 컴파일하고 실행시키는 방법에 대해 설명합니다. Visual Studio Code에서 둘 이상의 소스 코드 파일로 구성된 프로젝트..

Ubuntu 20.04에 CUDA Toolkit 11.2, cuDNN 8.1.0, Tensorflow 설치하기 [내부링크]

Ubuntu 20.04에 CUDA Toolkit와 cuDNN, Tensorflow를 설치하는 방법을 다룹니다. 텐서플로우 최신 버전( 현재 2.5.0 )에서 CUDA 11을 사용하고 있어 수정했습니다. 2020. 7. 19 최초 작성 2020. 8. 31  2021. 5...

FFmpeg를 사용하여 웹캠 영상과 동영상 파일을 RTSP 스트리밍하기(RTSP streaming webcam / video files using FFmpeg) [내부링크]

FFmpeg를 사용하여 웹캠 영상과 동영상 파일을 RTSP 스트리밍하고 RTSP URL을 입력으로 vlc에서 영상을 재생시켜봅니다. Ubuntu 20.04에서 테스트를 진행하였습니다. 2020. 7. 12 최초작성 웹캠 정보를 확인하기..

Ubuntu에 GStreamer 설치하고 웹캠 영상 가져와보기 [내부링크]

Ubuntu 20.04에 GStreamer를 설치하고 웹캠에서 영상을 가져와 화면에 출력해봅니다. 보다 자세한 내용은 GStreamer 홈페이지에 있는 튜토리얼 문서를 참고하세요. https://gstreamer.freedesktop.org/documentati..

Visual Studio 2019에서 CUDA를 적용한 OpenCV 빌드하기 [내부링크]

이번 영상에서는 OpenCV에서 GPU 가속을 사용하기 위해 OpenCV를 빌드하는 방법을 다룹니다. 사용중인 NVIDIA 그래픽카드에 맞는 CUDA Toolkit와 cuDNN을 설치하고 cmake를 사용하여 OpenCV 빌드 옵션을 설정한..

리눅스에서 특정 프로세스의 메모리 사용량 측정하기 [내부링크]

우분투를 포함하여 리눅스에서 특정 프로세스의 메모리 사용량을 측정하는 방법입니다. 2020. 7. 5 최초작성 2020. 10. 24 최종작성 명령어 ps MAN 페이지의 STANDARD FORMAT SPECIFIERS 항목을 보면  https://ma..

Windows 10에 CUDA와 cuDNN, Tensorflow 설치하기 [내부링크]

Windows 10에 CUDA Toolkit와 cuDNN, Tensorflow를 설치하는 방법을 다룹니다. 2020. 6. 21 최초 작성. 2020. 8. 8 CUDA Toolkit 버전 확인 방법 수정 2021. 1. 11 Windows 10에 CUDA Toolkit 11.0 cuDNN 8 Tensor..

Visual Studio Code에서 Github에 업로드하는 방법 [내부링크]

Visual Studio Code에서 Github에 코드를 업로드하는 방법을 다룹니다. 2020. 5. 26 최초작성 2021. 8. 23 마지막 업데이트 - GitHub의 메인 브랜치 이름이 master에서 main으로 변경됨. 2021. 9. 17 GitHub에서..

VisualGDB를 사용하여 Raspberry PI를 위해 OpenCV 코드 크로스컴파일(cross compile)하기 [내부링크]

VisualGDB와 Visual Studio를 사용하여 Raspberry Pi를 위해 OpenCV 코드를 크로스 컴파일하는 과정을 다룹니다. 1. 우선 다음 포스트를 먼저 진행하세요. Raspberry Pi를 위해 크로스 컴파일러(cross compiler)..

Raspberry Pi를 위해 크로스 컴파일러(cross compiler) 사용하기 ( VisualGDB와 Visual Studio를 사용 ) [내부링크]

VisualGDB와 Visual Studio를 사용하여 Raspberry Pi를 위한 크로스 컴파일 개발 환경을 만들어 봅니다. 테스트 환경은 다음과 같습니다. Windows 10 Visual Studio 2019 Community 16.6.0 Raspberry Pi 3 1. Visu..

[당첨자 발표] "알짜배기 예제로 배우는 OpenCV" 책 출간 이벤트 [내부링크]

안녕하세요. 웹나우테스입니다. "알짜배기 예제로 배우는 OpenCV" 책 출간 이벤트 ( ~ 2020. 5. 10 ) https://webnautes.tistory.com/1416 일주일 동안 진행했던 이벤트를 마감하고 책을 받으실 분들을 추첨했습니..

YOLO v4 욜로 v4 실행시키는 방법 [내부링크]

다음 깃허브에 있는 욜로 YOLO V4를 실행하는 방법을 소개합니다. hunglc007 / tensorflow-yolov4-tflite ( https://github.com/hunglc007/tensorflow-yolov4-tflite ) 관련 포스트 Ubuntu에서 darknet을 사용하..

"알짜배기 예제로 배우는 OpenCV" 책 출간 이벤트 ( ~ 2020. 5. 10 ) [내부링크]

안녕하세요. 웹나우테스입니다. 그동안 블로그와 유튜브에 연재한 OpenCV 내용을 바탕으로 "알짜배기 예제로 배우는 OpenCV" 책을 출간했습니다. 영상처리 이론보다는 OpenCV에 빨리 익숙해지는데 초점이 맞추어져..

OpenCV Python 사용하여 스티칭(stitching) 구현하기 [내부링크]

OpenCV Python을 사용하여 stitching을 구현해보았습니다. 스티칭(stitching)은 같은 장소 또는 같은 객체를 촬영한 여러 장의 사진에서 공통적인 부분을 찾아 이미지를 하나로 연결하는 알고리즘입니다. 결과적으..

pip 사용하지 않고 OpenCV 바이너리 패키지를 사용하여 Python에서 사용하는 방법 [내부링크]

Windows에서 pip를 사용하지 않고 바이너리로 배포되는 OpenCV 패키지를 사용하여 Python에서 OpenCV를 사용하는 방법을 다룹니다. 공식 배포되는 OpenCV 버전에 비해 pip 명령으로 설치가능한 버전은 늦게 업데이..

Ubuntu 18.04에 Qt 5.14 개발환경 구축 [내부링크]

Ubuntu Linux 18.04에 미리 빌드되어 나오는 qt 설치 파일을 다운로드 받아 설치 후, 간단한 예제 코드를 작성하여 터미널에서 컴파일 하는 과정을 다루었습니다. 관련 포스트 [개발 환경/Qt] - Ubuntu 20.04에 QT..

노트북에서 Ubuntu 사용시 무선 인터넷이 간혈적으로 끊길 때 해결방법 [내부링크]

노트북에서 무선랜을 사용하다보면 인터넷이 간혈적으로 끊기거나 다운로드 속도가 급격히 떨어지는 현상이 있어서 해결방법을 찾아보았습니다. 아래 링크에 있는 방법을 적용해보았습니다. http://airpage.org/xe..

Flutter 강좌 02 - 첫번째 앱 작성하기 [내부링크]

스타트업 회사의 이름을 랜덤으로 생성하여 제안해주는 첫번째 Flutter 앱을 작성해봅니다. 먼저 랜덤으로 선택한 두 개의 단어를 결합하여 만든 스타트업 회사 이름을 보여주는 앱을 작성하고 이후 생성된 스타트..

dlib를 사용하여 검출한 얼굴 랜드마크를 분리하여 보여주기 [내부링크]

안녕하세요. 웹나우테스입니다. 이번 영상에서는 dlib를 사용하여 검출한 얼굴의 랜드마크를 분리하여 보여주는 코드를 설명합니다. # 패키지 설치 # pip install dlib opencv-python # # 학습 모델 다운로드 # ht..

Flutter 강좌 01 - 개발환경 만들기 및 앱 실행하는 방법 [내부링크]

윈도우 10에서 Flutter 프로그래밍을 위한 개발환경을 만들고 안드로이드 폰에 앱을 설치해서 실행시켜 보았습니다. 참고 https://flutter-ko.dev/docs/get-started/install/windows 안녕하세요. 웹나우테스입니다..

화면 캡처한 결과를 입력으로 하여 OpenCV Python에서 템플릿 매칭해보기 [내부링크]

이번 영상에서는 윈도우즈 10에서 화면을 캡처한 결과를 입력으로 사용하여 OpenCV Python에서 탬플릿 매칭을 해보았습니다. # pip install pyautogui # pip install opencv-python import cv2 as cv import numpy..

Windows에서 테서랙트 tesseract를 사용하여 문자 인식해보기 [내부링크]

이번 영상에서는 문자 인식을 해볼 수 있는 테서랙트 tesseract를 윈도우에서 실행시키는 방법을 소개합니다. 관련 포스트 파이썬에서 pytesseract를 사용하여 문자 인식 ( OCR ) 하기 https://webnautes.tistory...

욜로 yolo를 사용하여 물체 인식해보기 [내부링크]

이번 영상에서는 실시간으로 물체 인식을 해볼 수 있는 욜로 yolo를 실행시키는 방법을 소개합니다.

Keras와 OpenCV를 사용하여 손글씨 숫자 인식하기 [내부링크]

이번 영상에서는 Keras와 OpenCV를 사용하여 직접 쓴 손글씨를 인식하는 방법을 소개합니다. 작성 2020. 3. 30

MediaPipe를 Ubuntu에 설치하는 방법 [내부링크]

Ubuntu 20.04에 MediaPipe를 설치하여 간단한 예제를 실행시켜 보는 과정을 다루고 있습니다. Ubuntu 18.04도 같은 방식으로 진행하면 됩니다. MediaPipe가 무엇인지 궁금하시면 다음 두 링크를 방문해보세요.. ht..

OpenCV 기반으로 파란공 트래킹(tracking)하여 그림 그리기 [내부링크]

이번 영상에서는 OpenCV를 사용하여 파란공의 위치를 트래킹하여 영상에 그림을 그려보는 코드를 소개합니다. import cv2 as cv def draw_ball_location(img_color, locations): for i in range(len(locations)-1)..

MFC에서 SQLite3 사용하여 한글 문자열 저장하고 불러오는 예제 [내부링크]

MFC에서 SQLite3에 한글 문자열을 저장하고 다시 불러오는 간단한 예제를 만들어보았습니다. 이쪽 분야를 전문적으로 작성하지 않기 때문에 좀 이상하게 작성된게 있을 수도 있습니다^^; MFC에서 사용할 SQLIte를..

MFC에서 VFW를 사용하여 웹캠 영상 가져오기 [내부링크]

MFC에서 VFW(Video For Window)를 사용하여 웹캠의 영상을 가져온 후, 그레이스케일 영상으로 변환하여 PIcture Control에 원본과 그레이스케일 영상을 보여주도록 만들어 보았습니다. ps. 프로젝트가 32비트인 경..

Python 예외 처리 하는 방법 try ~ except [내부링크]

Python에서 예외처리를 위해 try except를 사용하는 간단한 예제입니다. 2021. 12. 4 - 최초작성 참고 https://stackoverflow.com/a/47103744/15850881 4개의 원소를 값는 넘파이 배열을 생성합니다. 배열의 인덱..

C++ map 간단한 사용방법 [내부링크]

C++ map에 대한 간단한 사용방법입니다. 2021. 12. 4 - 최초작성 map은 고유의 key 값을 사용하여 값을 저장하는 컨테이너로 키값에 따라 정렬이됩니다. 다음처럼 키와 값의 타입을 지정하여 map을 선언합니다. 첫..

4분할로 웹캠 또는 동영상을 보여주는 OpenCV C++ 예제 [내부링크]

4분할로 웹캠 또는 동영상을 보여주는 OpenCV C++ 예제 코드입니다. 2021. 12. 4 - 최초작성 초기화면 또는 0을 누른 경우에는 4개의 영상을 4분할로 보여주며 1 ~ 4 사이 숫자 누르면 영상 1개씩 전체화면으로 보..

Macbook M1에 OpenCV C++ / Python 개발 환경 만들기 ( Visual Studo Code 사용 ) [내부링크]

Macbook M1에서 Visual Studio Code와 연동하여 OpenCV C++ / Python 개발 환경을 만드는 과정을 설명합니다. 2021. 12. 4 최초작성 1. 다음 포스트에 나온대로 Xcode를 설치합니다. MacBook에 Xcode 설치하기 htt..

Macbook M1에 Miniconda 설치하여 Visual Studio Code와 연동하기 [내부링크]

Macbook M1에 Miniconda 설치하고 Visual Studio Code와 연동하는 방법을 다룹니다. 2021. 12. 1 최초작성 참고 https://docs.conda.io/projects/conda/en/latest/user-guide/install/macos.html Macbook M1용 Ten..

Tensorflow 학습 코드를 두 개를 동시에 실행하는 경우 model.fit에서 에러 [내부링크]

Tensorflow 학습 코드를 두개 동시에 실행하는 경우 model.fit에서 다음과 같은 에러가 나서 나중에 실행한 코드는 중단됩니다. tensorflow.python.framework.errors_impl.InternalError: Attempting to perform B..

Python 예제 - Numpy 배열에 열 추가하기 [내부링크]

Numpy 배열에 열을 추가하는 Python 예제코드입니다. 2021. 12. 1 - 최초작성 import numpy as np array = np.array([[1,2], [3,4], [5,6]]) print(array) # 3 x 2 배열입니다. # [[1 2] # [3 4] # [5 6]] print()..

Python 예제 - Numpy 배열에서 0이 아닌 최소값 찾기 [내부링크]

Numpy 배열에서 0이 아닌 최소값을 찾는 예제입니다. 2021. 12. 1 최초작성 # -*- coding: utf-8 -*- import numpy as np import numpy.ma as ma a = np.array([-1, 0, 1, 2, 3, 4, 5]) print(a) min_value = np.m..

파이썬 예제 - 1차원 곡선에서 local maximum, local minimum 위치 찾기 [내부링크]

1차원 곡선의 최소값과 최대값 위치를 찾아주는 예제입니다. scipy에서 제공하는 argrelmin, argrelmax를 사용하여 구현했는데 정확한 위치를 잡아주지는 않습니다. 실행 속도도 빠른 편이 아니네요. 2021. 12. 1..

Python 예제 - 두 곡선의 교차점 찾기 [내부링크]

두 곡선의 교차점에 대응하는 x, y좌표를 구할 수 있는 Python 예제 코드입니다. 2021. 11. 30 - 최초작성 실행 결과입니다. 두 곡선의 교점을 초록색 점으로 표시해주고 있습니다. 터미널에서 교차점의 x,y 좌표..

AWS Rest API를 Android와 연동해보기( Lambda + API Gateway + DynamoDB ) [내부링크]

AWS의 Lambda + API Gateway + DynamoDB를 사용하여 구현한 Rest API를 안드로이드 앱과 연동해본 예제입니다. 익숙하지 않은 분야라 이상한 점이 있을 수 있습니다. 2021. 11. 29 - 최초작성 본 포스트는 다음처..

for문으로 실행하여 Matplotlib 그래프 저장하는 예제 [내부링크]

for 문에 Matplotlib 그래프를 저장하는 예제입니다. 2021. 11. 29 - 최초작성 x좌표를 바꾸어가면서 그린 그래프 20개를 저장하는 예제입니니다. 다음과 같은 경고 메시지가 발생했었는데 plt.close(fig)를 추가..

Python List의 append와 Numpy 배열의 append 비교 [내부링크]

Python에서 List에 원소를 추가하는데 걸리는 시간과 Numpy에서 넘파이 배열에 원소를 추가하는데 걸리는 시간을 비교해봤습니다. 예상과 달리 넘파이 배열에 원소를 추가하는 시간이 더 오래 걸립니다. 2021. 11...

Matplotlib에서 수직선 그리기 [내부링크]

Matplotlib에서 수직선을 그리는 예제입니다. 2021. 11. 28 최초작성 axvline 함수에 x좌표를 지정해주면 해당 위치에 수직선을 그릴 수 있습니다. import matplotlib.pylab as plt import numpy as np x = np.lin..

generator를 사용하여 넘파이 배열을 일정한 크기씩 나누어 가져오기 [내부링크]

generator를 사용하여 넘파이 배열을 일정한 크기씩 나누어 가져오는 것을 작성한 테스트 코드입니다. 더 간단한 방법이 있을 거 같았는데 마땅히 떠오르지 않습니다. 2021. 11. 28 최초작성 import numpy as np a..

Ubuntu Server 20.04 arm64에 Miniconda 설치하여 Visual Studio Code와 연동하기 [내부링크]

Ubuntu Server 20.04 arm64에 Miniconda 설치하고 Visual Studio Code와 연동하는 방법을 다룹니다. 2021. 11. 27 최초작성 참고 https://varhowto.com/install-miniconda-ubuntu-20-04/ 1. 설치를 할 때 사용할..

Ubuntu Server 20.04 Arm64에 Visual Studio Code 설치하기 [내부링크]

Ubuntu Server 20.04 Arm64에 Visual Studio Code 설치하는 과정을 다룹니다. 2021. 11. 27 최초작성 아래 링크에서 deb 항목에 있는 ARM64 링크를 클릭합니다. https://code.visualstudio.com/Download Save Fil..

Ubuntu Server 20.04 Arm64 한글 입력기 설치하기 [내부링크]

Macbook M1에 설치한 Ubuntu Server 20.04 Arm64에 한글 입력기를 설치한 과정을 다루고 있습니다. 2021. 11. 27 최초작성 왼쪽 아래에 보이는 다음 아이콘을 클릭합니다. settings를 입력하여 보이는 Settings를..

MacBook에서 사용중인 Ubuntu에서 단축키 사용하는 방법 [내부링크]

UTM을 사용하여 MacBook Air M1에 Ubuntu 20.04를 설치한 후, 단축키를 사용하기 위해 설정한 내용을 다루고 있습니다. 2021. 11. 26 최초작성 2021. 11. 27 최종수정 MacBook Air에 Ubuntu를 설치한 과정은 다음..

Macbook M1에 Ubuntu ARM64 설치하는 방법 [내부링크]

Macbook Air M1에 Ubuntu ARM64 설치한 과정을 기록했습니다. 2022. 1. 20 0. 아래 링크에서 Ubuntu Server for ARM를 다운로드합니다. https://ubuntu.com/download/server/arm 1. 아래 링크에서 Assets를 클릭..

Tensorflow - tf.data.Dataset.from_generator 예제 [내부링크]

모델에 데이터를 공급하는 방식 중 하나인 tf.data.Dataset.from_generator를 살펴봅니다. 데이터가 너무 커서 메모리에 모두 로드할 수 없는 경우 데이터를 한번에 모두 읽어오는 대신에 디스크에서 데이터를 배..

텐서플로우 콜백함수( Tensorflow Callbacks ) - ModelCheckpoint, ReduceLROnPlateau, EarlyStopping [내부링크]

텐서플로우 콜백함수 ModelCheckpoint, ReduceLROnPlateau, EarlyStopping를 다루고 있습니다. 2021. 11. 17 최초작성 ModelCheckpoint 모델 또는 가중치를 저장할 때 사용되는 콜백함수입니다. www.tensorflow.or..

Python OpenCV에서 이미지 크기 (width, height) 가져오기 [내부링크]

Python OpenCV에서 이미지 크기(width, height)를 가져오는 방법입니다. 2021. 11. 14 컬러 이미지의 경우에는 shape 함수를 통해 height, width, channels를 얻을 수 있습니다. import numpy as np import cv2 im..

Python에서 JSON 포맷 파일 로드하는 방법 [내부링크]

Python에서 JSON 포맷 파일을 로드하는 방법입니다. 2021. 11. 14 최초작성 test.json 이름으로 파일을 작성합니다. {"name":"Lee","messages":["msg 1","msg 2","msg 3"],"country":"korea"} 다음 파이썬 코드를..

MATLAB의 mat 파일을 Python에서 불러오기 [내부링크]

MATLAB의 mat 파일을 Python에서 불러오는 예제 코드입니다. 2021. 11. 14 최초작성 import scipy.io as sio arr = sio.loadmat('sample1.mat') print('arr') print(arr) print('\n\n') a = arr['a'] b = arr['b']..

VirtualBox 실행안되는 문제 - Call to NEMR0InitVMPart2 failed: VERR_NEM_INIT_FAILED [내부링크]

VirtualBox 6.1.28에서 발생한 문제입니다. VirtualBox와 WSL을 동시에 사용할 수 없습니다. 최초작성 2021. 11. 13 명령 프롬프트를 관리자 모드로 실행하여 다음 명령을 각각 실행해준 후, 재부팅을 해야 합니다..

tfds build 시 에러 AssertionError: Unrecognized instruction format ( 또는 Unrecognized split format ) [내부링크]

tfds build시 발생한 AssertionError: Unrecognized instruction format (또는 Unrecognized split format ) 원인과 해결방법입니다. 2021. 11. 12 최초작성   File "/home/webnautes/miniconda3/envs/tensorflo..

Python에서 실수 출력 포맷 지정하기 [내부링크]

Python에서 실수 출력 포맷을 지정하는 예제 코드입니다. 2021. 11. 10 - 최초작성 소수점 두번째 자리까지 출력하기 pi = 3.14159265359 print("{:.2f}".format(pi)) 소수점 두번째 자리까지 출력되었습니다. 3.1..

우분투 기본 사용방법 [내부링크]

알게 되는 순서대로 기록하는 우분투 기본 사용방법 기록 페이지입니다. 2021. 11. 10 최초작성 1. 지정한 디렉토리 크기 확인 $ du -sh /home/webnautes 834M    /home/webnautes 2. zip를 사용하여 하위..

MacBook M1에 Xcode 설치하기 [내부링크]

MacBook에 Xcode를 설치한 과정을 다루고 있습니다. 2021. 11. 9 - 최초작성 2021. 12. 19 - 최종작성 이젠 앱 스토어에서 다운로드 받아야 합니다. https://apps.apple.com/us/app/xcode/id497799835?mt=12 Xco..

맥북 기본 사용 방법 [내부링크]

알게 되는 순서대로 기록하는 맥북 기본 사용방법 기록 페이지입니다. 2021. 11. 07 최초작성 2021. 12. 04 2022. 01. 22 2022. 02. 05 2022. 3. 12 2022. 3. 19 1. 독에 있는 추가되어 있는 앱에 검은점이 있는..

Swift 강좌 9 - 제네릭(Generics) [내부링크]

제네릭(Generics)를 다룹니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground( https://swiftfiddle.com/ ) 에서 실행시켜 보며 진행해보았습..

MacBook Air M1에 Android Studio 설치하기 [내부링크]

MacBook Air M1에 Android Studio를 설치해보았습니다. 2021. 11. 6 - 최초작성 2021. 12. 4 - 최종작성 처음 시도는 윈도우와 똑같은 방식으로 아래 링크에서 다운로드 받아 압축을 풀고 설치를 해보았는데 중간..

Swift 강좌 8 - 에러 처리(Error Handling) [내부링크]

에러 처리(Error Handling)를 다룹니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground( https://swiftfiddle.com/ ) 에서 실행시켜 보며 진행..

맥북에서 크롬 웹브라우저로 구글 독스(Docs) 사용시 오타 해결방법 [내부링크]

맥북에 크롬 웹브라우저를 설치하여 구글 독스에서 문서를 작성하려고 했는데 오타가 너무 심해서 문서 작성이 힘들 정도 였습니다. 몇가지 키워드를 사용하여 검색하던 중 다음 링크에 달린 답변을 보고 해결되었..

이벤트 추가와 날짜 선택 가능한 안드로이드 달력 예제 ( CompactCalendarView 라이브러리 사용 ) [내부링크]

이벤트 추가와 날짜 선택이 가능한 안드로이드 달력 예제입니다. 2021. 11. 5 최초작성 아래 깃허브 저장소에 있는 CompactCalendarView 라이브러리를 사용했습니다. https://github.com/SundeepK/CompactCalendar..

Matplotlib에서 x축 눈금 레이블을 대각선으로 출력하기 [내부링크]

Matplotlib에서 x축 눈금 레이블을 대각선으로 출력하는 방법을 다룹니다. 2021. 10. 28 최초작성 import pandas as pd from tensorflow import keras from zipfile import ZipFile from matplotlib import pyplot..

Swift 강좌 7 - 프로토콜(Protocols)과 익스텐션(Extensions) [내부링크]

프로토콜과 익스텐션을 다룹니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground(  https://swiftfiddle.com/ ) 에서 실행시켜 보며 진행해보..

윈도우의 명령 프롬프트에서 하위 포함 디렉토리 목록 출력하기 [내부링크]

윈도우의 명령 프롬프트에서 하위 디렉토리 포함하여 디렉토리 목록을 출력하는 방법입니다. 2021. 10. 27 - 최초작성 현재 위치의 하위 디렉토리 목록을 출력해주는 명령어입니다. dir /A:D /B /S 실행시켜보..

AWS Lambda 함수와 API Gateway로 만든 REST API 배포하기 [내부링크]

AWS Lambda 함수와 API Gateway로 만든 REST API 배포하는 방법을 다룹니다. 익숙하지 않은 분야라 이상한 점이 있을 수 있습니다. 2021. 10. 24 - 최초 작성 우선 다음 포스트를 진행해야 합니다. AWS Lambda 함..

Swift 강좌 6 - 열거형(Enumerations)과 구조체(Structures) [내부링크]

열거형(Enumerations)과 구조체(Structures)를 다룹니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground(https://swiftfiddle.com/ ) 에서 실..

Swift 강좌 5 - 객체(Objects)와 클래스(Classes) [내부링크]

객체(Objects)와 클래스(Classes)를 다룹니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground(https://swiftfiddle.com/ )에서 실행시켜 보며..

AWS Lambda를 사용한 DynamoDB 테스트 [내부링크]

Lambda를 사용하여 DynamoDB를 사용해보았습니다. 2021. 10. 11 - 최초작성 AWS 관리 콘솔 사이트(https://aws.amazon.com/ko/console/ )에 접속하여 로그인 후, 오른쪽 상단에 보이는 리전을 서울로 변경합니다...

Linux에서 실행파일을 위해 필요한 공유라이브러리 찾기 [내부링크]

Linux에서 실행파일을 위해 필요한 공유라이브러리의 이름과 위치를 찾는 방법입니다. 크로스 컴파일 후, 실행파일과 관련 공유파일을 임베디드 보드로 옮길때 필요해서 찾았던 방법입니다. ldd 명령이 없는 임베..

C++의 vector로부터 표준편차와 평균 구하기 [내부링크]

C++의 vector에 저장된 값으로 부터 표준편차와 평균을 구하는 예제 코드입니다. 2021. 10. 10 - 최초작성 #include #include #include #include #include using namespace std; int main() { vector v = {1, 2, 3..

VirtualBox나 VMware에서 Ubuntu 설치시 버튼이 안보일때 [내부링크]

VirtualBox나 VMware에서 Ubuntu 설치시 화면이 잘려서 다음으로 넘어가는 버튼이 안보이는 경우가 있습니다. 2021. 10. 10 - 최초작성 Alt + F7을 누른 후, 마우스 또는 키보드 화살표키로 창을 이동시키면 해결..

Flask 강좌 1 - 최소한의 애플리케이션 [내부링크]

웹브라우저에 Hello, World!를 출력하는 Flask 예제코드입니다. Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/quickstart/ 부족한 부분이나 이상..

Swift 강좌 4 - 함수 [내부링크]

원래 함수와 클로저를 다루는 내용이었지만 여기에선 함수만 다룹니다. 클로저 부분은 “A Swift Tour” 문서 내용으로 파악이 힘들어 추후 가이드 문서 볼때 작성하는 것으로 합니다. A Swift Tour ( https://doc..

Swift 강좌 3 - 제어문 : if, for - in, switch, repeat - while [내부링크]

if와 switch를 사용하여 조건문을 만들고 for-in, while 및 repeat-while을 사용하여 반복문을 만듭니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift P..

Swift 강좌 2 - 상수와 변수 [내부링크]

let을 사용하여 상수를 만들고 var를 사용하여 변수를 만듭니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground(https://swiftfiddle.com/ )..

Swift 강좌 1 - Hello, world [내부링크]

Hello, world를 화면에 출력해봅니다. A Swift Tour ( https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html ) 문서의 코드를 Swift Playground(https://swiftfiddle.com/ ) 에서 실행시켜 보며 진행..

NumPy 전체 배열 출력 [내부링크]

NumPy 배열이 일정 크기 이상이 되면 print를 사용하여 출력시 다음처럼 생략이 됩니다. [[ 0]  [ 1]  [ 2]  ...  [9997]  [9998]  [9999]] 사용한 코드입니다. import numpy as np a = np.arange(10000) b..

Python - CSV 파일을 순서 유지한채 무작위로 샘플링하여 두 개의 CSV 파일로 분할하기 [내부링크]

CSV 파일을 읽어 순서 유지한채 무작위 샘플링하여 2개의 CSV 파일로 저장하는 예제입니다. Pandas를 사용하여 구현하였습니다. 테스트에 사용한 CSV 파일입니다. 주의할점은 csv 파일에 필드를 설명하는 헤더가..

NumPy reshape에 -1을 사용하는 이유 [내부링크]

NumPy reshape에 -1을 사용하는 이유는 shape에서 -1로 지정한 차원은 알아서 계산되게 하기 위해서입니다. 2021. 10. 4. 최초작성 >>> import numpy as np 크기 6인 1차원 배열을 생성합니다. >>> a = np.array([..

감정 분석(Sentiment Analysis)을 위해 AWS Comprehend API를 사용하는 REST API를 구현 [내부링크]

감정 분석(Sentiment Analysis)을 위해 AWS Comprehend API를 사용하는 REST API를 구현해봅니다. 익숙하지 않은 분야라 이상한 점이 있을 수 있습니다. 2021. 10. 2 - 최초작성 우선 Lambda 함수를 작성합니다. A..

두 개의 2차원 넘파이 배열에 0축(axis=0)을 추가하여 하나로 합치기 [내부링크]

두 개의 2차원 넘파이 배열에 0축(axis=0)을 추가하여 하나로 합치는 예제 코드입니다. 2021. 9. 30 - 최초 작성 예를 들어 2차원 배열의 shape가 (10,3)인 경우 2개를 합치게 되면 (2,..

AWS Lambda 함수와 API Gateway를 사용하여 REST API 구현 [내부링크]

Lambda 함수와 API Gateway를 사용하여 REST API를 구현해봅니다. 익숙하지 않은 분야라 이상한 점이 있을 수 있습니다. 2021. 9. 30 - 최초작성 Lambda는 코드를 작성한 다음 이벤트에 연결할 수 있는 서버리스..

Python으로 AWS Lambda 사용해보기 [내부링크]

Python으로 작성된 AWS Lambda 함수를 사용해보았습니다. 2021. 9. 28 - 최초작성 AWS 관리 콘솔 사이트(https://aws.amazon.com/ko/console/ )에 접속하여 로그인 후,  오른쪽 상단에 보이는 리전을 서울로 변경..

OpenCV에서 로드한 image 파일을 QT에서 보여주고 간단한 영상처리 [내부링크]

OpenCV에서 로드한 이미지 파일을 QT에서 보여주고 그레이스케일로 변환하는 간단한 영상처리를 구현한 예제입니다. 2021. 9. 26 - 최초작성 처음 실행하면 다음처럼 버튼만 보입니다. Open 버튼을 클릭하면 파일..

C++ 예제 - string에서 영어 대소문자, 숫자 외에 제거하기 [내부링크]

검출결과에서 영어 대소문자, 숫자외에는 모두 제거해야 해서 어떻게 해야 했는데 찾아보니 생각보다 간단해서 굳이 찾아볼 필요가 없었네요. 2021. 9. 26 - 최초작성 #include using namespace std; string split..

Visual Studio 2019 16.11.3에서 MFC 프로젝트 생성시 "COM 구성 요소 호출에서 HRESULT E_FAIL 오류가 반환되었습니다" 에러 발생 [내부링크]

Visual Studio 2019 버전 16.11.3에서 MFC 프로젝트를 다이얼로그로 생성시 다음과 같은 에러가 발생했습니다. COM 구성 요소 호출에서 HRESULT E_FAIL 오류가 반환되었습니다. 구글에서 찾아본 아래 3가지를 진..

OpenCV - MSER과 IOU를 사용하여 사각형 검출 [내부링크]

사각형을 찾도록 MSER(Maximally Stable Extremal Regions)을 이미지에 적용한 다음 IoU(Intersection over Unit)를 사용하여 같은 영역에 중복되어 그려진 사각형을 제거해보았습니다. 테스트한 이미지에서만 사..

C++ 예제 - vector에서 특정 원소값 지우기 [내부링크]

vector에 저장된 원소중에 특정값을 지우는 예제코드입니다. 2021. 9. 22 - 최초작성 #include // for std::remove #include #include using namespace std; int main() { vector v = {1, 2, 3, 4, 5}; for(int i=..

C++ 예제 - set을 사용하여 vector 중복 확인하기 [내부링크]

vector 객체 중에 똑같은 값이 있는 것을 제거할 방법을 고민하다가 중복 체크가 될까 하면서 set 컨테이너에 vector 객체를 넣어봤습니다. 예상되로 잘 되네요. 2021. 9. 22 - 최초 작성 #include #include #incl..

C++ set 예제 - 중복 원소 검사 [내부링크]

C++에서 중복된 정수값을 체크할 방법을 찾다가 set 컨테이너를 사용해봤습니다. set의 insert 함수를 사용할 경우 리턴값을 체크하여 중복 여부를 확인할 수 있네요.  2021. 9. 22 - 최초작성 #include #include..

E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable' [내부링크]

apt-get update를 했더니 평소와 다른 메시지가 보였습니다. pi@raspberrypi:~ $ sudo apt-get update Hit:1 http://archive.raspberrypi.org/debian buster InRelease Get:2 http://raspbian.raspberrypi..

프로그래밍 언어 / 프레임워크 / 도구 별 .gitignore 템플릿 저장소 [내부링크]

프로그래밍 언어 / 프레임워크 / 도구 별로 .gitignore 템플릿이 모아져있는 저장소입니다. 처음 .gitignore 파일 생성시 디폴트 내용으로 사용하면 좋을 듯합니다. https://github.com/github/gitignore GitHub -..

정규화(Normalization), 표준화(standardization), 이상치(outlier) 제거 [내부링크]

정규화(Normalization), 표준화(standardization), 이상치(outlier) 제거를 구현해본 코드입니다. 2021. 9. 17 - 최초작성 2022. 4. 15 졍규화는 값을 0 ~ 1 사이의 범위로 바꾸는 것이고, 표준화는 평균이 0, 표..

Python 예제 - glob.glob, os.walk 특정 경로에 있는 특정 확장자 파일의 목록을 리스트로 받기 [내부링크]

하위 경로에 있는 특정 확장자 파일의 목록을 리스트로 받아오는 Python 예제입니다. 2021. 9. 16 - 최초 작성 2022. 1. 2 - walk 추가, 실행 시간 측정 import os, glob import time start = time.time() # 하위..

Matplotlib에서 figure 제목 및 subplot 별 제목을 추가하는 예제 [내부링크]

Matplotlib에서 figure 제목 및 subplot 별 제목을 추가하는 예제입니다 2021. 9. 16 - 최초작성 import numpy as np import matplotlib.pyplot as plt x = np.linspace(-3,3,100) # x좌표는 -3에서 3 사이에서 10..

Numpy - 차원 추가 expand_dims 사용법 [내부링크]

Numpy 배열의 차원을 추가하는 expand_dims 사용법을 파악해보려고 테스트해본 내용입니다. 파이썬 인터프리터에서 진행했기 때문에 차례대로 코드를 실행해 봐야 합니다. 2021. 9. 15 - 최초작성 테스트에 사용할..

Tensorflow 디버깅 정보 메시지 안보이게 하기 [내부링크]

Tensorflow 모듈을 사용할 경우 사용자가 출력하지 않은 추가 정보들이 많이 출력됩니다. 특히 CUDA를 Tensorflow 모듈에서 사용하는 경우 더 많이 출력됩니다. 2021. 9. 14 최초작성 다음 링크에서 소개하는 방법..

Tensorflow Dataset의 window 메소드 사용법 [내부링크]

Tensorflow Dataset의 window 메소드 사용법을 파악해보려고 테스트해 본 내용입니다. 2021. 9. 14 - 최초작성 range 메소드를 사용하여 0 ~ 9 까지 값을 갖는 Dataset을 생성합니다. as_numpy_iterator 메소드는..

실수 넘파이 배열을 소수점 자리 맞추어 공백없이 쉼표구분으로 출력하기 [내부링크]

numpy 배열의 데이터를 원본 csv 파일에서 찾을 목적으로 만들었던 코드였는데 간단한 데이터로 예제코드를 만들어봤습니다. 2021. 9. 11 최초작성 import numpy as np a = np.linspace(0.01, 1.00, 9).reshape(3,..

LSTM 레이어 사용시 cuDNN 관련 에러 나는 경우 해결방법 [내부링크]

구글에서 검색해봐도 해결방법이 보이지 않았던 에러입니다. 원인이 여러가지 일 수 있겠지만 Keras의 LSTM 레이어에 activation='relu'를 추가해놓았다면 제거해주면 해결됩니다.  WARNING:tensorflow:Layer ls..

Ubuntu 20.04에 Tesseract-ocr 설치하여 C++ 코드로 문자인식(OCR) 해보기 [내부링크]

Ubuntu 20.04에 Tesseract-ocr을 설치한 후, C++ 코드로 문자 인식(OCR)을 간단히 해보았습니다. 2021. 9. 5 - 최초작성 우선 Ubuntu 20.04에 다음 두 패키지를 설치합니다. $ sudo apt install tesseract-ocr li..

WSL 2 - Ubuntu의 resolv.conf에서 읽은 nameserver IP를 DISPLAY 환경변수에 저장하는 스크립트 작성 [내부링크]

WSL2에 설치된 우분투에서 GUI 프로그램을 실행하기 위해 /etc/resolv.conf의 nameserver IP를 확인하여 환경변수 DISPLAY에 넣는 과정을 스크립트로 작성한 과정을 다룹니다. 2021. 9. 4 - 최초 작성 윈도우 10에..

Windows 10 환경에서 Visual Studio Code와 Miniconda를 사용한 Flask 개발 환경 만들기 [내부링크]

Windows 10 환경에서 Visual Studio Code와 Miniconda를 사용한 Flask 개발 환경 만들기를 다루고 있습니다. 2021. 9. 4 최초 작성                    pip install flask로 끝나는 설치가 Min..

QT 강좌 12 - QGridLayout 2 [내부링크]

QGridLayout QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 31 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는..

표준정규분포 표준화 (standardization) [내부링크]

오토인코더를 사용한 학습에서 표준화를 전처리 과정으로 사용하고 있어서 간단히 내용을 찾아서 정리했지만 아직은 좀 더 자료를 찾아봐야 할거 같습니다. 2021. 8. 26 최초작성 비교하려는 데이터 간에 값의 범..

QT 강좌 11 - QGridLayout [내부링크]

QGridLayout QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 26 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는..

QT 강좌 10 - QFormLayout [내부링크]

QFormLayout QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 25 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는..

OpenCV에서 캡처한 webcam 영상을 QT에서 보여주기 [내부링크]

OpenCV에서 캡처한 webcam 영상을 QT에서 보여주는 예제 코드입니다.  2021. 8. 24 - 최초작성 실행 화면입니다. 처음 실행시 Open 버튼 클릭 후 Close 버튼 클릭 후 소스 코드입니다. // 원본 - https://gith..

QT와 OpenCV 같이 사용시 pro 파일 설정 방법 [내부링크]

QT와 OpenCV를 같이 사용하기 위해 pro 파일에 OpenCV 관련 컴파일 옵션들을 다음처럼 추가했습니다. QT += widgets TEMPLATE = app TARGET = qt_opencv_webcam INCLUDEPATH += . INCLUDEPATH +=  $(pk..

WSL 2에서 갑자기 GUI 프로그램 실행안될 때. [내부링크]

다음 포스트처럼 WSL 2와 Xming X Server for Windows를 설치하여 사용하던 중 갑자기 GUI 프로그램을 실행했는데 무응답인 경우가 발생했습니다. https://webnautes.tistory.com/1170 WSL 2 ( Windows Subsystem..

QT 강좌 09 - QListWidget [내부링크]

List QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 24 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는 익숙한..

Git, GitHub 간단한 사용방법 [내부링크]

Git와 GitHub를 사용해보며 알게된 점들을 정리하기 위해 만든 포스트입니다.  포스트 작성 후, 재검토해보며 터미널의 결과를 수정해서 스크린샷과 터미널의 실행 결과(해쉬코드 같은 것)에 차이가 있을 수 있습..

QT 강좌 08 - Button [내부링크]

Button QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 21 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는 익숙한..

QT 강좌 07 - QVBoxLayout, QHBoxLayout [내부링크]

QVBoxLayout QHBoxLayout QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 19 - 최초작성 터미널에서 빌드 및 실행을 진행합니다..

QT 강좌 06 - QToolBar [내부링크]

툴바 QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 18 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는 익숙한..

Ubuntu 20.04에 QT 설치하기 [내부링크]

Ubuntu 20.04에 QT5 를 설치하는 방법을 다룹니다. 2021. 8. 17 최초작성 우선 g++ 컴파일러가 필요하며 추가로 make를 설치해야 합니다.  $ sudo apt-get install build-essential make QT WIKI에서 확인해보니..

Ubuntu 20.04에서 NVIDIA SDK Manager 사용하기 [내부링크]

Nvidia Jetson에 Jetpack 설치시 SDK Manager를 사용하는데 PC에 설치된 버전이 Ubuntu 18.04가 아니면 설치 진행이 안됩니다. 예전엔 가능했던거 같은데 바뀐 점이 있나봅니다. 찾아보니 우분투 설정 파일에서 버..

QT 강좌 05 - QMenu [내부링크]

메뉴 QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 14 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는 익숙한..

QT 강좌 04 - QLabel [내부링크]

라벨 QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 12 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는 익숙한..

QT 강좌 03 - Push Button [내부링크]

푸시버튼 QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5 2021. 08. 10 - 최초작성 터미널에서 빌드 및 실행을 진행합니다. 편집기는 익숙..

QT 강좌 02 - Simple GUI [내부링크]

윈도우를 보여주는 간단한 QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://zetcode.com/gui/qt5/introduction/ 2021. 08. 09 - 최초작성 터미널에서 빌드 및 실..

QT 강좌 01 - Hello World [내부링크]

Hello World를 터미널에 출력하는 간단한 QT5 예제입니다. 아래 사이트의 QT 강좌를 공부하며 정리 차원에서 작성하는 포스트입니다. https://www.bogotobogo.com/Qt/Qt5_TutorialHelloWorld.php 2021. 08. 07 -..

Tensorflow에서 재현 가능한 결과(reproducible results) 얻기 [내부링크]

텐서플로우에서 다음과 같은 간단한 MNIST 예제를 실행시켜보면 매번 학습 결과가 다른 것을 확인할 수 있습니다. 실행할때마다 일정한 학습 결과를 얻는 방법을 다룹니다. 2021. 7. 29 - 최초작성 # https://www...

Mediapipe의 Hello_World 예제 사용 방법 [내부링크]

Mediapipe의 Hello_World 예제 사용방법을 소개합니다. 2021. 7. 24 최초작성 Mediapipe를 Ubuntu에 설치하는 방법을 먼저 진행하세요. MediaPipe를 Ubuntu에 설치하는 방법 https://webnautes.tistory.com/1404..

Ubuntu 20.04에 ftp 서버 설치하기( vsftpd 사용 ) [내부링크]

Ubuntu 20.04에 ftp 서버를 설치하는 과정을 다룹니다. vsftpd를 사용했습니다. 1. vsftpd 패키지를 설치합니다. $ sudo apt-get install vsftpd 2. vsftpd.conf 파일을 열어서 $ sudo nano /etc/vsftpd.conf 다음..

MacBook M1에 PyTorch 설치하기 [내부링크]

MacBook M1에 PyTorch를 설치하는 과정을 다루고 있습니다. 다음 링크를 참고하여 작성했습니다. https://betterprogramming.pub/how-to-install-pytorch-on-apple-m1-series-512b3ad9bc6 2021. 5. 2. 최초작성 0...

Windows에서 CUDA를 사용하도록 PyTorch 설치하는 방법 [내부링크]

Windows에 설치된 CUDA 버전에 맞추어 PyTorch를 설치하는 방법을 다룹니다. 2022. 5. 1 최초작성 이미 CUDA 및 conda 환경이 설치되어있다면 3번부터 진행하세요. 1. 아직 CUDA를 설치하지 않았다면 아래 문서를..

AUC - ROC Curve 이해하기 [내부링크]

AUC - ROC Curve에 대해 다루고 있습니다. 2022. 4. 26 최초작성 아래 링크의 원문을 바탕으로 이해한 내용을 추가하여 작성되었습니다. https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c..

Visual Studio Code의 Pylint에서 cv2 모듈과 멤버 인식이 안되는 경우 해결방법 [내부링크]

Visual Studio Code에 설치된 Pylint에서 OpenCV의 파이썬 모듈인 cv2을 인식하지 못해서 에러가 난 것처럼 표시되는 것을 해결한 과정을 다루고 있습니다. 2022. 4. 24 최초작성 OpenCV 코드는 문제 없이 동작하..

정규 분포(Normal Distribution)와 표준 정규 분포(Standard Normal Distribution)의 차이 [내부링크]

정규 분포(Normal Distribution) 와 표준 정규 분포(Standard Normal Distribution)의 개념 및 이 둘의 차이를 설명합니다. 2022. 4. 17 최초작성 2022. 4. 17 “표준 정규 분포” 항목의 불분명한 문장 수정. 알..

XGBoost Warning 해결 방법 [내부링크]

다음 두가지 XGBoost Warning을 해결하는 방법을 다룹니다. 2022. 4. 14 최초작성 WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.3.0/src/learner.cc:1061: Starting in XGBoost 1.3.0, the..

Conda 환경에서 pip와 conda를 사용한 Python 패키지 설치 위치 확인 [내부링크]

Conda 환경에서 pip와 conda를 사용하여 패키지 설치시 어디에 설치되는지 확인해보았습니다. 윈도우 10에 설치된 Miniconda에서 확인한 결과입니다. 2022. 4. 13 Miniconda에 다음 두 개의 가상환경 base와 newen..

이상치(Outlier) 제거하는 Python 예제 코드 [내부링크]

표준화 전후로 이상치(Outlier)를 제거하는 Python 예제 코드입니다. 2022. 4. 5 최초작성 이상치는 대부분의 값과 다르게 아주 작거나 아주 큰 값을 의미합니다. 평균 ± 표준편차 × 3 을 벗어나는 것을 이상치..

Windows에 설치된 Visual Studio Code + Jupyter Notebook에서 Rust 코드 실행하기 [내부링크]

Windows에서 Visual Studio Code + Jupyter Notebook으로 Python 개발 환경을 만들고 Jupyter Notebook에서 Rust 코드를 실행하는 방법을 다루고 있습니다. Jupyter Notebook은 Python을 위한 것이라서 사용하지..

Windows에 Visual Studio Code + Jupyter Notebook 개발 환경 만들기 [내부링크]

Windows에 Visual Studio Code + Jupyter Notebook 개발 환경을 만드는 과정을 다룹니다. 2022. 4. 3 - 최초작성 1. 다음 포스트대로 Windwos에 Miniconda를 설치하여 Python 개발환경을 만든 후, Visual Studio C..

Windows 10에 Miniconda를 설치후 Visual Studio Code와 연동하기 [내부링크]

Windows 10에 Miniconda를 설치한 Python 개발 환경에 Visual Studio Code와 연동하는 것을 다루고 있습니다. 2022. 4. 3 최초작성 1. 아래 링크에서 Miniconda3 Windows 64-bit를 다운로드하여 설치합니다. https..

Windows에 Visual Studio Code + Rust 개발 환경 만들기 [내부링크]

Windows에 Rust 개발 환경을 만드는 과정을 다루고 있습니다. 2022. 4. 3 최초작성 1. Microsoft C++ Build Tools를 설치하거나 Microsoft Visual Studio를 설치해야 합니다. 참고한 마이크로소프트 웹페이지에서..

Macbook M1에서 설치된 Visual Studio Code + Jupyter Notebook에서 Rust 코드 실행하기 [내부링크]

Macbook M1에 Visual Studio Code + Jupyter Notebook으로 Python 개발 환경을 만들고 Jupyter Notebook에서 Rust 코드를 실행하는 방법을 다루고 있습니다. Jupyter Notebook은 Python을 위한 것이라서 사용하지..

Macbook M1에 Visual Studio Code + Jupyter Notebook 개발 환경 만들기 [내부링크]

Macbook M1에 Visual Studio Code + Jupyter Notebook 개발 환경을 만드는 과정을 다룹니다. 2022. 4. 3 - 최초작성 1. 다음 포스트대로 Macbook M1에 Miniforge를 설치하여 Python 개발환경을 만든 후, Visual St..

Macbook M1에 Visual Studio Code + Rust 개발 환경 만들기 [내부링크]

Macbook M1에 Visual Studio Code + Rust 개발 환경을 만드는 과정을 다루고 있습니다. 2022. 4. 3 최초작성 1. Command + Space 바를 누른 후, terminal.app을 입력 후, 엔터키를 눌러 터미널을 실행합니다. 2...

OpenCV Python - webcam에서 가져온 영상을 mp4로 저장하는 예제 [내부링크]

webcam에서 가져온 영상을 mp4로 저장하는 OpenCV Python 예제입니다. 2022. 3. 30 최초작성 # 참고 # https://github.com/dgseten/bad-cv-tfm/blob/2ada9b71f85aa5eb75c1f4a039cb14d697ee2f69/tools/video/video-..

Macbook M1에 설치된 Visual Studio Code에서 Github에 업로드하는 방법 [내부링크]

Macbook M1에 설치된 Visual Studio Code에서 Github에 코드를 업로드하는 방법을 다룹니다. 2022. 3. 16 최초작성 2022. 3. 19 쉬운 push 방법 추가 0. 우선 homebrew를 설치합니다. % ruby -e "$(curl -fsSL htt..

multiclass classification 클래스별로 ROC curve 그리기 [내부링크]

multiclass classification에서 클래스별로 ROC curve를 그리는 예제 코드입니다. 2022. 3. 14 최초작성 # https://stackoverflow.com/questions/45332410/roc-for-multiclass-classification # https://moons08.g..

Macbook M1에 설치된 tensorflow에서 Keras 호출시 failed assertion Failed to allocate private MTLBuffer for size 0 [내부링크]

Macbook M1에 설치된 tensorflow에서 keras API  호출시 다음 에러가 나는데 원인을 알 수 없네요. failed assertion `Failed to allocate private MTLBuffer for size 0 conda 가상환경을 삭제후  다..

Optuna를 사용하여 XGBoost 최적 하이퍼 파라미터 구하는 예제코드 [내부링크]

Optuna를 사용하여 XGBoost의 최적 하이퍼 파라미터 구하는 예제코드입니다. 2022. 03. 12 최초작성 # 참고한 코드 https://github.com/optuna/optuna-examples/blob/main/xgboost/xgboost_simple.py import numpy..

다중 클래스의 혼동행렬(confusion matrix) 구하기 - multilabel_confusion_matrix [내부링크]

다중클래스의 혼동행렬(confusion matrix)을 구하여 클래스별 민감도(sensitivity)와 특이도(specificity)를 구하는 예제코드입니다. 2022. 03. 12 최초작성 from sklearn.metrics import multilabel_confusion_ma..

Pandas의 read_csv 함수 느린 속도 개선하기 [내부링크]

Pandas의 read_csv 함수의 느린 속도를 개선하는 방법을 다룹니다. 2022. 03. 11 최초작성 csv 파일을 하나 읽어서 작업할 때에는 Pandas의 read_csv 함수가 느리다는 것을 알지 못했는데 대량의 csv 파일을(정확..

신경망(neural networks)에서 편향(bais)의 역할 [내부링크]

스택오버플로우에서 찾은 내용을 기반으로 신경망에서 편향의 역할을 정리해봤습니다. 출처 - https://stackoverflow.com/questions/2480650/what-is-the-role-of-the-bias-in-neural-networks 2022. 3. 9 - 최초..

Macbook m1에서 xgboost 코드 실행시 segmentation fault 해결 [내부링크]

Macbook m1에서 xgboost 코드 실행시 발생한 segmentation fault를 해결한 방법을 소개하고 있습니다. 전 5번까지 진행해야 segmentation fault 없이 xgboost 코드가 실행되었습니다. 최초작성 2022. 3. 9 출처..

OpenCV Python - Image Center Crop 예제 [내부링크]

로드한 이미지를 Center Crop하는 OpenCV Python 예제입니다. 2022. 3. 6 최초작성 오른쪽 원본 이미지의 중심을 기준으로 300 x 300 이미지를 Center Crop한 이미지가 왼쪽 이미지입니다. 원본 이미지에 Center..

OpenCV Python - 이미지를 정사각형이 되도록 패딩(padding)하는 예제 [내부링크]

로드한 이미지를 정사각형 이미지가 되도록 가장자리를 0으로 채워 패딩(padding)하는 OpenCV Python 예제입니다. 최소한 이미지의 최대변 길이 이상을 입력해야 정사각형 이미지로 만들어줍니다. 그 이하인 경우..

OpenCV Python - fps 출력하는 Webcam 기본 예제 코드 [내부링크]

Webcam에서 가져온 이미지에 fps 표시하여 화면에 출력하는 OpenCV Python 예제 코드입니다. 2022. 03. 06 최초작성 # 참고 # https://github.com/dgseten/bad-cv-tfm/blob/2ada9b71f85aa5eb75c1f4a039cb14d697ee..

Macbook M1에 설치된 vscode에서 ModuleNotFoundError: No module named 'tensorflow' 에러 [내부링크]

2022. 3. 13 아래 링크에 나온대로 vscode의 환경 설정에서 다음 두 가지 항목을 확인해보니 두번째 항목이 체크되어 있어 체크해제하니 문제가 사라졌습니다. vscode에서 Run Python File in Terminal을 사..

파이썬 리스트에서 특정값의 개수를 세는 방법 [내부링크]

파이썬 리스트에서 특정 값 또는 특정 문자 등의 개수를 세는 데 사용할 수 있는 방법입니다. 2022. 3. 3 최초작성 아래 예제는 리스트에 저장되어 있는 숫자별 개수를 출력하는 예제입니다. from collections imp..

캐글 딥러닝 강좌 정리 3 - 과적합(Overfitting)과 해결 방법(dropout, batch normalization) [내부링크]

캐글의 딥러닝 튜토리얼을 바탕으로 정리한 문서입니다. 개인적으로 추가한 내용이 있어서 원문 내용에 차이가 있습니다. Intro to Deep Learning https://www.kaggle.com/learn/intro-to-deep-learning 추가로 참..

캐글 딥러닝 강좌 정리 2 - 확률적 경사 하강법(Stochastic Gradient Descent), 손실함수, 옵티마이저 [내부링크]

캐글의 딥러닝 튜토리얼을 바탕으로 정리한 문서입니다. 개인적으로 추가한 내용이 있어서 원문 내용에 차이가 있습니다. 이번에 다루는 내용은 수식에 대한 이해가 되면 수정할 부분이 있을 듯합니다. Intro to D..

캐글 딥러닝 강좌 정리 1 - 뉴런(Neuron)과 깊은 신경망(DNN) [내부링크]

캐글의 딥러닝 튜토리얼을 바탕으로 정리한 문서입니다. 개인적으로 추가한 내용이 있어서 원문 내용에 차이가 있습니다. Intro to Deep Learning https://www.kaggle.com/learn/intro-to-deep-learning 2022. 2...

MQTT 개념 및 예제 [내부링크]

MQTT 개념과 구현 예제를 다룹니다. 이름만 들어봤던 것을 마침 개념을 정확히 알아둘 필요가 생겨서 정리해봤습니다. 아직 예제 코드 및 MQTT 예제는 실행하여 확인해보지는 않았습니다. 다음 링크의 문서를 번역..

XGBoost 개념 정리 [내부링크]

XGBoost 관련 개념을 정리한 문서입니다. 논문을 보고 진행했어야 했는데 인터넷 자료를 바탕으로 작성하게 되었네요. 수식은 이해안되는 부분이 아직은 많아서 제외시켰습니다. 추후 논문을 확인해볼 생각입니다...

Keras Tuner를 사용하여 하이퍼파라미터 찾는 예제 [내부링크]

Keras Tuner를 사용하여 Keras 모델의 레이어, 학습률, 배치 크기 등에 대한 최적의 하이퍼파라미터를 찾는 예제 코드입니다. 2022. 02. 20 최초작성 아래 링크들을 참고하여 Red Wine Quality 데이터셋(https://w..

가위바위보를 인식하는 Mediapipe hand Python 예제 [내부링크]

Python용 Mediapipe의 손가락 인식 코드를 수정하여 가위, 바위, 보를 인식하여 화면에 출력하는 예제 코드를 만들었습니다. OpenPose의 손인식에 비해 주위 환경 영향이 거의 없으며 손가락 인식이 끊김없이 지속..

분산과 표준 편차 차이 정리 [내부링크]

분산과 표준 편차 차이를 정리했습니다. 공부한 내용을 정리할 목적으로 작성한 것이라 오류가 있을 수 있습니다. 2022. 02. 06 최초작성 어떤 하나의 통계적 관찰 대상이 되는 집단전체를 모집단이라 하고, 그 부..

MacBook M1에 Tensorflow 설치하기 [내부링크]

MacBook M1에 Tensorflow를 설치하는 방법을 다룹니다. 참고 https://developer.apple.com/metal/tensorflow-plugin/ 2022. 2. 4 최초작성 2022. 5. 2 xcode 설치 추가 macOS 12.0 이상에서 가능하며 글 작성 시점..

Macbook M1에 Miniforge 설치하여 Visual Studio Code와 연동하기 [내부링크]

Macbook M1에 Miniforge를 설치하여 Python 개발환경을 만든 후, Visual Studio Code와 연동하는 작업까지 진행합니다. Macbook M1용 Tensorflow를 사용하려면 Miniforge를 사용해야 해서 진행했습니다. 2022. 2...

Pandas 강좌 9 - 결측치(Missing data) [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 열 이름의 위치가 맞지 않으니 실행하여 결과에서 확인하세요. 2022. 02. 02 최..

Pandas 강좌 8 - Pandas에서 CSV, HDF5, Excel로 저장 및 읽기 [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 열 이름의 위치가 맞지 않으니 실행하여 결과에서 확인하세요. 2022. 02. 02 최..

Pandas 강좌 7 - 그래프 그리기(Plotting) [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 matplotlib와 함께 사용하여 그래프를 그릴 수 있습니다..

Pandas 강좌 6 - 시계열(Time series) [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 3. 20 샘플링 특정 주기로 샘플링된 데이터를 원..

Pandas 강좌 5 - 연결 및 그룹핑 [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 03. 20 연결하기 concat 메소드를 사용하여 열방..

Pandas 강좌 4 - 연산(Operations) [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 03. 20 DataFrame이나 Series에 저장된 데이터에..

Pandas 강좌 3 - 데이터 선택하는 방법 [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 03. 19 열 이름과 행 인덱스로 선택하기 df["A"]..

Pandas 강좌 2 - 데이터 보는 방법 [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 1. 30 최초작성 2022. 3. 19 head에 지정한 개수만큼 DataFrame 상단의..

Pandas 강좌 1 - Pandas 객체 생성 [내부링크]

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 1. 30 최초작성 2022. 3. 19 값이 저장되어 있는 파이썬 리스트를 전달하..

Visual Studio 프로젝트의 코드에서 Gstreamer 플러그인 위치 지정 [내부링크]

윈도우 환경에서 환경 변수를 사용하지 않고 Visual Studio 프로젝트의 코드에서 Gstreamer 플러그인 위치 지정하는 방법입니다. 2022. 1. 23 최초작성 다음 코드에서 빨간색 부분만 Windows용 gstreamer가 설치된..

MFC 다이얼로그(dialog)의 Static 함수에서 컨트롤 접근하기 [내부링크]

MFC 다이얼로그(dialog)의 Static 함수에서 컨트롤 접근하는 방법을 다룹니다. 2022. 01. 23 최초작성 1. 다이얼로그 프로젝트의 파일 중 CWinApp를 상속 받은 파일 이름이 App로 끝나는 헤더 파일을 열어 다음 빨..

Python Numpy 배열 크기 확인 getsizeof , nbytes [내부링크]

sys.getdizeof 메소드와 NumPy배열의 nbytes 속성을 사용하여 Numpy 배열의 크기를 확인해봤습니다. 2022. 01. 22 최초작성 동적으로 크기를 늘릴 수 있는 Python의 리스트와 달리 NumPy 배열을 생성하면 고정된..

dask 사용해보기 [내부링크]

데이터 파일을 메모리에 로드하지 않고 다룰 수 있는 dask를 간단히 사용해보았습니다. 자세한 사용방법은 아래 링크를 참고하세요. https://docs.dask.org/en/latest/ 2022. 1. 17 최초작성 소스코드 파일 이름을..

Visual Studo 2019에서 GStreamer 사용하기 [내부링크]

Visual Studio 2019에서 GStreamer를 사용하기 위해 설정하는 방법을 설명합니다. 2022. 1. 13 최초작성 1. 다음 링크에서 Visual Studio용 GStreamer를 다운로드할 수 있습니다. 글작성 시점에서 최신버전은 1.18..

SwiftUI 강좌 - Introducing SwiftUI 따라잡기 - 장소 소개하는 화면 만들기 [내부링크]

스크린샷처럼 특정 장소에 대한 설명, 사진, 지도를 한 화면에 보여주는 뷰를 만들어 봅니다. 설명, 사진, 지도를 보여주는 뷰를 각각 만들어서 마지막에 하나로 결합합니다. Introducing SwiftUI( https://develo..

fps 표시 및 동영상 파일 저장하며 webcam 영상 보여주는 OpenCV C++ 예제 코드 [내부링크]

fps를 화면에 표시해주고 동영상 파일로 저장하면서 webcam 영상을 보여주는 OpenCV C++ 예제 코드입니다. 저장된 동영상 파일이 빠르게 재생되는 문제가 없습니다. 2022. 1. 3 최초작성 #include #include using..

Flask 강좌 10 - Logging [내부링크]

사용자의 API 요청을 위한 정보를 제공할 수 없는 경우 사용자에게 알려주는 에제입니다. Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/quickstar..

Visual Studio Code에서 SSH 접속 후, Tensorflow 코드를 실행한 경우 다르게 동작 [내부링크]

Visual Studio Code에서 SSH 접속후, Tensorflow 코드를 실행하면 다르게 동작하네요. mobaXterm으로 SSH 접속하여 Tensorflow 코드를 실행한 경우와 실행결과가 다릅니다. 성능에 영향을 주는지까지는 확인못해봤..

파이썬 예제 - 특정 경로의 파일 목록인 리스트를 딕셔너리에 저장하기 [내부링크]

특정 경로의 파일 목록을 리스트에 저장하는 파이썬 예제 코드입니다. 2021. 12. 27 최초작성 다음 구조의 디렉토리를 생성한 후, 진행했습니다. 첫번째 버전 파일 이름 목록에 경로를 추가합니다. import os pat..

파이썬 리스트에 저장된 모든 문자열에 똑같은 문자열을 결합하기 [내부링크]

파이썬 리스트에 저장된 모든 문자열에 똑같은 문자열을 결합하는 예제입니다. 2021. 12. 27 최초작성 number = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] print(number) number = [s +..

Flask 강좌 9 - Message Flashing [내부링크]

Flask는 사용자에게 피드백을 제공하는 간단한 방법인 플래싱(flashing) 시스템을 제공합니다.  Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/qu..

Flask 강좌 8 - 세션(Sessions)과 로그인 구현 [내부링크]

세션(session) 객체는 사용자에 대한 특정 정보를 저장하는데 사용할 수 있습니다. 쿠키를 사용하여 구현되며 암호로 서명하기 때문에 쿠키의 내용을 수정할 수 없습니다. 이 세션을 사용하여 로그인된 아이디를..

Flask 강좌 7 - JSON 응답하기 [내부링크]

Flask에서 JSON을 응답하는 것을 살펴봅니다. Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/quickstart/ 부족한 부분이나 이상한 부분이 있을 수..

Flask 강좌 6 - 리다이렉트와 에러(Redirects and Errors) [내부링크]

웹페이지에 액세스할 수 없는 경우 리다이렉트하여 에러를 사용자에게 보여주는 방법을 다룹니다. Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/q..

Flask 강좌 5 - request 예제(로그인, 파일 업로드, 쿠키) [내부링크]

request 객체를 사용한 로그인, 파일 업로드, 쿠키 예제입니다. Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/quickstart/ 부족한 부분이나 이상..

Flask 강좌 4 - 렌더링 템플릿 [내부링크]

Flask에서 템플릿을 렌더링하는 예제입니다.  Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/quickstart/ 부족한 부분이나 이상한 부분이 있을 수..

Flask 강좌 3 - Routing [내부링크]

Flask에서는 route() 데코레이터를 사용하여 함수를 URL에 바인딩합니다. Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다. https://flask.palletsprojects.com/en/2.0.x/quickstart/ 부족한 부분..

Flask 강좌 2 - HTML Escaping [내부링크]

Flask의 기본 응답 유형인 HTML을 리턴할때 렌더링된 사용자 값을 공격으로부터 보호하기 위해 이스케이프해야 합니다. 나중에 소개될 Jinja로 렌더링된 HTML 템플릿은 이 작업을 자동으로 수행합니다. 본 포스팅..

실행한 파이썬 파일의 경로를 얻기 [내부링크]

실행한 파이썬 파일의 경로를 얻는 방법입니다. Visual Studio Code에서 하나의 폴더내에 서브 폴더별로 파이썬 코드를 관리할 경우 불러올 데이터 파일 위치를 파이썬 코드 파일 위치로 해야 합니다. 2021. 12. 1..

Matplotlib로 FFT 그려보기 [내부링크]

Matplotlib를 사용하여 FFT를 그려보았습니다. 2021. 12. 18 최초작성 2021. 12. 31 예제 코드 추가 2021. 01. 17 예제 코드 추가 아직 정확히 개념이 잡힌 상태가 아니라서 틀린점이 있을 수 있으니 참고용으로만..

Visual Studio Code에서 SSH를 사용하여 Raspberry Pi 원격 개발하기 [내부링크]

Visual Studio Code에서 SSH를 사용하여 raspberry pi에 접속하여 C/C++ 원격 개발을 준비하는 과정을 설명하고 있습니다. 2021. 12. 15 최초작성 2022. 4. 7 컴파일 방법 추가 Visual Studio Code를 설치하는 방..

SPARK를 사용하여 대용량 데이터셋의 평균과 표준편차 구하기 [내부링크]

메모리에 한번에 올리기 힘든 데이터셋에 표준화(standardization)를 적용하기 위해 평균 및 표준 편차를 계산하기 위해 사용한 방법입니다. 2021. 12. 12 최초작성 1. JDK가 필요합니다. 안드로이드 스튜디오를..

Matplotlib로 정규 분포 그려보기 [내부링크]

Matplotlib를 사용하여 정규분포를 그려봤습니다. 2021. 12. 11 최초작성 다음 링크를 참고하여 작성했습니다. https://www.geeksforgeeks.org/normal-distribution-plot-using-numpy-and-matplotlib/ https://num..

tensorflow dataset에서 batch 단위로 window 적용하기 [내부링크]

tensorflow dataset을 크기 10인 batch로 나눈 다음 각 batch에 대해 크기 3 window를 적용한 예제입니다. 2021. 12. 11 최초작성 import tensorflow as tf import numpy as np ds= tf.data.Dataset.range(120) si..

모델 평가하는 방법(특이도, 민감도, 재현율, 정확도, 정밀도) [내부링크]

모델을 평가하는 방법인 특이도, 민감도, 재현율, 정확도, 정밀도를 정리했습니다. 2021. 12. 9 최초작성 2022. 2. 3  우선 아래 표에 있는 TP, FP, TN, FN - 4가지에 해당되는 개수를 각각 구해야 합니다. 4가지..

Tensorflow Dataset 일부만 사용하기 [내부링크]

Tensorflow Dataset의 일부만 사용하는 예제입니다. 2021. 12. 6 - 최초작성 2021. 12. 8 - 최종작성 import tensorflow_datasets as tfds # tensorflow dataset 'minst'의 train과 test를 각각 전체를 사용합니다..

Python 예제 - range를 list로 변환 [내부링크]

range를 이용하여 2의 배수 저장된 리스트를 생성하여 넘파이 배열의 인덱스로 사용하는 예제입니다. 2021. 12. 6 - 최초작성 import numpy as np a = np.arange(10) print(a) idx = list(range(1,..