반응형
프로그래밍 노트/C&C++2015. 11. 14. 09:53linux echo server ( pthread 사용 )

#include #include #include #include #include #include #include #include #include #include #include #include #include struct thread_data{ int fd; char ip[20]; }; void *ThreadMain(void *argument); // get sockaddr, IPv4 or IPv6: void *get_in_addr(struct sockaddr *sa) { if (sa->sa_family == AF_INET) { return &(((struct sockaddr_in*)sa)->sin_addr); } return &(((struct sockaddr_in6*)sa)->sin6_addr); }..

opencv python - Harris Corner Detection
OpenCV/OpenCV 강좌2015. 11. 13. 03:33opencv python - Harris Corner Detection

윈도우(일정 범위)를 모든 방향으로 이동시키며 픽셀의 강도 변화를 측정함으로써 윈도우 내의 특징을 발견할 수 있다. 평평한 영역에서는 모든 방향으로 픽셀 강도 변화가 없다.에지에서는 에지의 방향따라 픽셀 강도 변화가 없고 에지와 수직방향으로 픽셀 강도 변화가 있다.코너에서는 모든 방향에 대해 강한 픽셀 강도 변화가 존재한다. 윈도우내의 좌표(x,y)에 있는 픽셀 강도와 (u,v)만큼 윈도우를 시프트 시켰을때 픽셀 강도의 변화량은 다음 식으로 측정한다. Window function은 직사각형 윈도우이거나 가우시안 윈도우를 사용하며 윈도우 아래의 픽셀들에 가중치를 주는 용도로 사용되어 진다. 평평한 영역에서는 강도 변화가 거의 없기 때문에 위 식은 0에 가까울 것이다.특징을 추출할 수 있는 것들이 많은 영역..

python으로 raspberry pi 2 제어 - 5. 외부 인터럽트
Raspberry Pi/Raspberry Pi 활용2015. 11. 11. 01:46python으로 raspberry pi 2 제어 - 5. 외부 인터럽트

버튼을 누르는 순간 폴링 에지 인터럽트가 발생하여 callback함수가 실행됩니다. import RPi.GPIO as GPIO def callback(channel): print "falling edge detected from pin %d"%channel GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP ) GPIO.add_event_detect( 11, GPIO.FALLING, callback=callback, bouncetime=300) while True: pass

python으로 raspberry pi 2 제어 - 4. pwm을 이용하여 led 밝기 조절
Raspberry Pi/Raspberry Pi 활용2015. 11. 11. 00:52python으로 raspberry pi 2 제어 - 4. pwm을 이용하여 led 밝기 조절

LED의 밝기가 점점 밝아지다가 다시 점점 어두워지는 것을 세번 반복하는 예제입니다. #-*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode( GPIO.BOARD ) #12번핀은 출력모드로 설정 GPIO.setup(12, GPIO.OUT) pwm = GPIO.PWM(12,50) #50hz pwm.start(0) for i in range(0,3): for dc in range(0,101,5): pwm.ChangeDutyCycle(dc) time.sleep(0.1) for dc in range(100,-1,-5): pwm.ChangeDutyCycle(dc) time.sleep(0.1) pwm.stop() GPIO.cleanup()

python으로 raspberry pi 2 제어 - 3. 버튼 누르면 LED 켜기
Raspberry Pi/Raspberry Pi 활용2015. 11. 11. 00:31python으로 raspberry pi 2 제어 - 3. 버튼 누르면 LED 켜기

LED는 12번핀에 연결하고 버튼은 11번핀에 연결한 상태입니다. 이제 버튼을 누를 때마다 LED가 켜지도록 만들 것입니다. #-*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode( GPIO.BOARD ) #12번핀은 출력모드로 설정 GPIO.setup(12, GPIO.OUT) #11번핀은 입력모드로 설정 GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP) while True: input_state = GPIO.input(11) if input_state == False: GPIO.output(12, GPIO.HIGH) else: GPIO.output(12, GPIO.LOW) time.sleep..

python으로 raspberry pi 2 제어 - 2. 버튼
Raspberry Pi/Raspberry Pi 활용2015. 11. 11. 00:15python으로 raspberry pi 2 제어 - 2. 버튼

버튼의 한쪽은 그라운드인 14번핀에 연결하고 다른 한쪽은 11번핀에 연결합니다. 버튼을 누르게 되면 화면에 'Button pressed'라고 출력됩니다. #-*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode( GPIO.BOARD ) GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP) while True: input_state = GPIO.input(11) if input_state == False: print( 'Button pressed' ) time.sleep(0.5)

python으로 raspberry pi 2 제어 - 1.  LED
Raspberry Pi/Raspberry Pi 활용2015. 11. 10. 23:53python으로 raspberry pi 2 제어 - 1. LED

6번 핀에 LED 음극을 연결하고 12번 핀에 LED의 양극을 연결합니다. LED가 3번 반복해서 깜박이도록한 예제입니다. #-*- coding: utf-8 -*- import RPi.GPIO as GPIO import time #라즈베리파이 보드핀 넘버를 사용 GPIO.setmode( GPIO.BOARD ) #12번 핀을 출력모드로 설정한다. GPIO.setup( 12, GPIO.OUT ) for i in range (0,3): GPIO.output( 12, GPIO.HIGH ) time.sleep(1) GPIO.output( 12, GPIO.LOW ) time.sleep(1) GPIO.cleanup()

arduino에서  servo 모터 제어
Arduino Uno2015. 11. 10. 22:48arduino에서 servo 모터 제어

서보모터를 아래처럼 직접 아두이노에 연결을 해주었습니다. 시리얼 모니터를 열고 -180에서 180 사이의 숫자를 입력하면 서모 모터가 해당 방향으로 이동하게 됩니다. #include Servo myservo; int servo_position = 0; void setup() { Serial.begin(9600); myservo.attach(9); //디지털9번핀에 서보모터를 연결 } String readSerial() { String str = ""; char ch; while( Serial.available() > 0 ) { ch = Serial.read(); str.concat(ch); delay(10); } return str; } void loop() { String str = readSerial..

opencv python - K-Means Clustering
OpenCV/OpenCV 강좌2015. 11. 10. 21:50opencv python - K-Means Clustering

T-shirt size problem 아래는 옷을 생산할 때 , 참고하기 위해 만든 사람들의 키와 몸무게에 대한 데이터를 도식화한 그림이다. 회사 입장에서는 모든 사이즈를 만들 수 없기 때문에 아래 그림처럼 사람들의 신체사이즈를 그룹화하여 3개 혹은 5개의 그룹으로 만들어서 제품을 생산하게 된다. 이때 사용할 수 있는 것이 K-Means Clustering이다. How does it work ?이 알고리즘은 반복적인 처리(iterative process) 알고리즘이다. 단계별로 두 개의 데이터 그룹으로 그룹화 해보도록 하자. 1단계 : 알고리즘은 임의로 두 개의 중심점(centroid)인 C1과 C2를 선택한다. C1, C2 ( 중심 점으로 두 개의 데이터를 선택하기도 한다. ) 2단계 : 두 개의 중심..

개발 환경/Ubuntu 설치 및 활용2015. 11. 7. 09:47ffmpeg를 사용하여 동영상 파일 크기 조정하기

https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg ffmpeg -i input.avi -vf scale=320:240 output.avi

반응형
image