본문 바로가기

분류 전체보기195

오토핫키로 화면내 이미지를 찾는 방법 이번 포스트에서는 어떻게 보면 오토핫키의 가장 핵심인 화면내 이미지를 검색한는 방법을 다뤄보도록 한다. 매크로를 부정적으로 바라보는 시선은 많다. 하지만 매크로는 단순히 자동 업무 처리 프로그램이라는 관점에서 보면 매우 중요한 녀석이다. 매크로 프로그램이 마우스를 클릭해야하는데, 어디를 클릭해야 할지 모른다면 의미가 없다. 만약 좌표만을 이용해서 마우스 클릭을 했었다면 그 위치가 살짝이라도 바뀔경우 무쓸모가 되어버린다. 따라서 멍청하게 좌표만 이용하기보다는 마치 사람처럼 화면을 인식하고 클릭하는 것이 중요하다고 할 수 있겠다. 사람처럼 화면을 인식하게 하는 명령어를 오토핫키에서 지원해주는데, 그게 바로 ImageSearch 라는 명령어이다. ImageSearch, OutputVarX, OutputVarY.. 2020. 10. 20.
오토핫키로 카카오톡 실행해서 비밀번호 자동으로 입력하기 이번 포스팅에서는 오토핫키를 통해서 특정 프로그램을 실행시키고, 원하는 매크로 작업을 하는 것을 다뤄보도록 한다. PC는 원래 personal computer 로 개인이 사용하라고 만들어진 것이지만, 가족이든 회사사람이든 공유해서 사용하는 경우가 종종 있다. 이런 경우들 때문에 자동로그인이 자동으로 해지되거나 자동로그인이 아예 안 되는 경우도 있다. 예를 들면 네이버는 자동로그인과 매크로를 통해 로그인 하는것이 원천 차단되어 있다. 컴퓨터를 혼자만 쓰는 경우에는 보안에 굳이 신경쓸 필요도 없고, 굳이 자동로그인 되어도 상관 없는 경우가 많다. 그래서 오늘은 오토핫키를 이용해서 특정 키를 누르면 카카오톡이 실행되고, 비밀번호가 자동으로 입력되어 로그인 하는 매크로를 제작해보려고 한다. 일단 제일 먼저 알아.. 2020. 10. 19.
오토핫키로 키보드 입력 매크로 만들기 이번 글에서는 오토핫키를 통해서 자동으로 입력하고자 하는 내용을 입력하는 방법을 다뤄보도록 한다. 매크로라는게 사실 크게 별거 없다. 매크로는 인공지능 이런게 아니라, 이미 정해져 있는 행동을 반복하는 것이기 때문이다. 사람이 하는 반복적인 행동을 줄여주는 것이 목적이므로, 사람이 주로 하는 작업들을 우선적으로 다루고 있다. 좌표계와 마우스 입력까지 다루었으므로, 이번에는 키보드 입력을 다룰 차례다. 키보드 입력은 제일 쉽다. 키보드 입력 명령어는 Send 이다. 사용 방법도 너무 간단하다. 그냥 Send, keys - keys 에 누르고 싶은 키보드를 써 넣으면 된다. 예제 코드 아래를 참고하자. F9:: Send, Hello world return 오토핫키 편집 프로그램인 SciTE4AutoHotke.. 2020. 10. 18.
오토핫키로 메세지창, 알림창 띄우기 이번 포스팅은 오토핫키로 쉽게 메세지창 또는 알림창을 쉽게 띄워보는 방법을 알아보도록 한다. 일단 메세지창 또는 알림창이 왜 필요한지 이유를 알아야한다. 알림이 필요할 때에는 크게 1. 작업이 끝났을 때 2. 도중에 오류 또는 원활한 작동이 안 되었을 때 문제를 확인하기 위해서 3. 현재 작업 상황을 알고 싶을 때 이렇게 세가지 경우라고 볼 수 있겠다. 그렇다면 오토핫키에서는 어떻게 메세지창을 띄울 수 있을까? 알림창을 띄우는 명령어는 MsgBox 이다. 사용방법은 두가지가 있는데, 좀 자세하게 알아보자. MsgBox, Text - Text 입력한 것을 그대로 알림을 띄워준다. MsgBox , Options, Title, Text, Timeout - 옵션을 부여하여 사용자의 버튼 입력을 감지할 수 있다... 2020. 10. 18.
오토핫키로 원하는 좌표 클릭하기 이번 포스트에서는 오토핫키에서 제일 많이 사용할 기능인 원하는 좌표에 마우스 클릭하기 기능을 알아보도록 한다. 제일 기초적인 내용을 담고 있지만, 제일 중요한 내용이므로 잘 이해하고 넘어가야 한다. 일단 알고리즘을 하나 생각해보자. 마우스 좌클릭을 하려면 일단 좌표를 알아야한다. 그런데 좌표는 기준에 따라서 달라지게 된다. 좌표의 기준이 될 수 있는 것은 크게 3가지가 되는데, 1. 스크린 좌표계 2. 창 좌표계 3. 클라이언트 좌표계 좀 자세하게 설명하자면 1. 스크린 좌표계 - 절대 좌표계로 우리의 해상도에 따른 좌표계이다. 2. 창 좌표계 - 창(윈도우)의 좌상단 끝을 원점으로 한 좌표계이다. 3. 클라이언트 좌표계 - 창 좌표계와 비슷한데, 창 틀 영역을 제외한 좌상단 끝이 원점이 된다. 여기서 .. 2020. 10. 18.
[C++ opencv] 웹캠으로 실시간 HSV 값 추출하기 본문 목표 OpenCV를 다루다 보면 색상 인식을 많이 하게 된다. 색상 인식을 하는데 있어서 RGB를 사용해야 할 때가 있고, HSV 색채널을 이용해야 할 때가 있다. RGB는 흰색과 검은색 또는 컴퓨터상의 색을 인식할 때 좋고, HSV 색채널은 실제 일상에서의 색을 인식할 때 좋다. 오늘의 목표는 내가 특정한 색을 인식하고 싶을때, 해당 색의 정보가 어떻게 되는지 OpenCV를 통해서 알아내보는 것이다. 키워드 : cvtColor, HSV 코드 테스트 결과 - CODE #include #include #include //#include #include #include #include using namespace std; using namespace cv; int main(int, char**) { /.. 2020. 10. 18.
[무료폰트] 서울서체 (서울남산체, 서울한강체) 설치하기 서울특별시에서 제작하여 무료로 배포하는 '서울 남산체'와 '서울 한강체' 설치하는 방법을 알아보자. 최근 몇년 사이에 유명해진 플랫폼들은 자신들이 사용하던 글꼴을 무료로 공개하여 사용자에게 더 친숙하게 다가가는 행보를 해왔다. 마찬가지로 각 지방단체도 글꼴을 제작하여 배포하고 있는데, 그 중에서 서울 남산체와 서울 한강체는 찾는 사람이 많을 정도로 글꼴 디자인을 인정 받고 있다. 서울 서체는 윈도우 7버전 이상부터 사용 가능하다. 사용은 무료지만 출처를 표기하는 것을 권장하고있다. 저작권이 서울특별시에 있으므로, 이 글꼴로 수익을 창출하면 안 된다. 서울서체의 특징은 선비정신과 단아한 여백을 담고 있다는 것이다. 서울특별시에 따르면 조형적으로 한옥의 열림과 기와의 곡선미를 표현했다고 한다. 서체의 이름이.. 2020. 10. 18.
오토핫키 최신버전과 전용 편집기(SciTE4AutoHotkey) 설치하기 컴퓨터를 다룰 줄 아는 사람들은 익히 들어봤을 매크로 프로그램인 오토핫키! 오늘은 오토핫키 설치하는 법을 알아보도록 한다. 오토핫키는 오토핫키 명령어를 통해서 각종 매크로 작업을 할 수 있게 해주는 프로그램이다. 프로그래밍 언어를 조금이라도 사용해봤으면 쉽게 사용할 수 있다. 프로그래밍 언어를 한번도 접해보지 않았다고 하더라도, 사용법이 워낙 간단해서 며칠 공부하면 매크로 프로그램을 충분히 만들어 낼 수 있다. 문서작업, 게임 자동사냥 등에 매크로가 많이 쓰이고 있다. 메이저 게임에서는 보통 이런 매크로 프로그램들은 걸러지게 되어있으므로, 좀 더 전문적인 매크로 개발을 공부해야 한다. 문서작업의 경우에는 쉽게 개발할 수 있고, 사용하는데 제약이 거의 없다. 네이버의 경우에는 한동안 매크로 댓글, 댓글 조.. 2020. 10. 18.
[C++ opencv] 이미지에 텍스트 넣기 본문 목표 OpenCV를 다루다보면 결과창(LCD)에 원하는 정보를 표현해야 할 때가 있다. printf( ) 또는 cout 을 이용해서 콘솔창에 정보를 띄워도 되지만, 이런 경우 이미지 화면과 콘솔 화면을 둘 다 봐야 하기에 시선이 분산 된다. 따라서 결과창에 텍스트를 넣어서 확인할 수 있다면 굳이 콘솔창을 띄우지 않아도 될 것이다. 오늘은 결과 이미지에 원하는 텍스트를 출력하는 것을 다뤄보도록 하겠다. 키워드 : putText 알아볼 함수 원형 - 텍스트 삽입하기( putText ) Mat img; img = imread("text_test_1.jpg", 1); Mat img_out; img.copyTo(img_out); char mystr[30]; sprintf_s(mystr, "Bird"); pu.. 2020. 10. 17.
아두이노 내부전원으로 서보모터(SG-90) 여러개 사용하는 방법 - 아두이노 내부 전원은 매우 약하다. 각종 센서나 LED 사용에는 큰 문제가 없지만, 모터류를 사용할 때에는 문제가 항상 따른다. 전류가 부족한 문제로, 모터쪽으로 과전류가 흐르게 되면 아두이노가 오작동 하는 등 문제가 생긴다. 그래서 원래는 외부전원을 사용하는 등 정석의 방법이 존재 한다. 하지만 이런 외부전원 회로를 만드는게 힘든 상황이거나 귀찮을 경우에 서모모터를 여러개 사용해야 하는 경우가 생기곤 한다. 이럴 때에 어떻게해야 아두이노 내부전원으로 서보모터를 여러개 돌릴 수 있을지 알아보자. - 아두이노(나노, 우노, 메가), 시리얼 통신 케이블, 점퍼선(M-M), 서보모터(SG-90) 여러개 아두이노 내부 전원 5V 를 통해서 서보모터 여러개에 전원 공급을 해준다. signal 신호는 각각 하나.. 2020. 10. 16.
c언어 코드 최적화 5장. 함수 호출 최적화 C언어 최적화에 대해서 벌써 마지막 장이다. (사실은 더 많은 방법이 있지만, 가장 큰 차이가 존재하는 것들을 위주로 다뤄보았다.) 지금까지 C언어 코드 최적화 포스팅을 정독했다면 컴퓨터에대한 원리를 이해했을 것이다. 이번에 다뤄볼 최적화 방법은 함수 호출과 관련이 있다. 함수 호출은 사용자 정의 함수를 main() 이나 다른 함수에서 호출하여 사용하는 것을 말한다. 예를 들면, 아래와 같은 경우가 함수 호출의 예가 되겠다. #include #include #include int sum(int a, int b) { return a + b; } void main() { int a = 5; int b = 7; printf("%d + %d = %d \n ", a, b, sum(a, b)); return; } .. 2020. 10. 15.
AMD, 7나노 공정 ZEN 3, 4세대 라이젠 5000 시리즈 CPU 발표 AMD 는 2020년 10월 9일 새벽 1시(한국시각 기준)에 차세대 CPU인 라이젠 '5000시리즈'를 발표했다. 2017년부터 라이젠 1000 시리즈를 발표하여 매년 신제품을 개발 및 발표해왔다. 이번에 출시된 제품은 4세대이지만, 노트북에 들어가는 cpu와 네이밍이 꼬이면서 5000 번대로 새롭게 출시하였다. (마치 갤럭시 노트와 갤럭시 s 시리즈간의 세대 차이를 없앴던 과정과 동일하다) 새로운 '젠 3(Zen 3)' 아키텍처는 기존의 젠 2(Zen 2) 아키텍처와 같은 7나노미터(nm) 공정으로 개발되었다고 한다. cpu에 있어서는 인텔보다 더 높은 수준의 공정을 적용한 것을 알 수 있다. 라이젠은 매번 발표될 때마다 컴퓨터 시장을 흔들어놨었다. 1세대 때부터 가격대비 성능이 좋다는 이야기부터, .. 2020. 10. 14.
c언어 코드 최적화 4장. 조건문 최적화 C언어 최적화에는 여러가지 고려해야 할 것들이 많다. 이번에는 조건문에서의 최적화를 다뤄보도록 하자. 1. 조건문은 비교연산 횟수를 줄여야 한다. 우리가 흔히 사용하는 조건문은 if 조건문이다. 별 생각없이 코딩을 하게되면 아래와 같은 코드가 나오게 된다. if (i == 1) { } else if (i == 2) { } else if (i == 3) { } else if (i == 4) { } else if (i == 5) { } else if (i == 6) { } else if (i == 7) { } else if (i == 8) { } 연산속도가 중요하지 않다면 이렇게 사용해도 큰 문제가 없다. 하지만 연산속도를 중요시 한다면 이런 코딩보다는 다른 방식을 사용해야 한다. 문제를 잘 살펴보면 만약에.. 2020. 10. 14.
c언어 코드 최적화 3장. LOOP 최적화 코드를 짜다보면 반복문은 무조건 사용하게 되어있다. 그런데 이 반복문 연산속도가 빠른놈이 아니다. 1. 반복문은 연산속도가 느리다. 반복을 하게되면 연산속도가 늦다는 것인데, 예를 들면 1부터 n까지의 정수들으 더하는 코드를 작성하면 아래와 같을 것이다. for(int i = 1; i 2020. 10. 14.
C언어 코드 최적화 2장. 비트연산을 사용하자. C언어 코드 최적화 방법은 여러가지가 있다. 이전에 나눗셈을 사용하지 않는것을 다뤄봤었다. 이번에는 비트연산을 사용하는 것이 얼마나 빠르게 코드를 작동시키는지 다뤄보도록 하자. 비트(bit)라는 것은 데이터에서 가장 기본이 되는 값으로, 0과 1로 이루어져 있다. 1 byte 는 8 bit 이다. 우리가 사용하는 int 자료형은 4byte 로 32bit 크기라고 할 수 있겠다. 아무튼 이런 비트연산을 하면 왜 코드 작동 속도가 빨라지는지 이론상 원리로 알아보자. 1. 비트 연산( OR, AND, XOR 등)은 컴퓨터에서 가장 빠르게 실행되는 연산이다. 그러므로 이러한 연산을 사용하면 좋을 수 밖에 없다. 코드에서 예를 들어보면, struct HUMAN { int is_Alive; int is_Walkin.. 2020. 10. 14.