간단한 계산을 하는 텐서플로우 프로그램을 통해 어떻게 동작하는지 알아봅니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다.https://github.com/aymericdamien/TensorFlow-Examples 텐서플로우 2.0에서 텐서플로우 1.x 코드를 실행하는 방법을 설명합니다. Tensorflow 2.0에서 Tensorflow 1.x 코드 실행하기https://webnautes.tistory.com/1393 본 포스팅에서는 저수준 텐서플로우 API인 텐서플로우 코어(TensorFlow Core)를 중심으로 설명합니다.텐서플로우 코어를 사용한 프로그래밍은 다음 두 단계로 이루어집니다. 수식을 그래프로 표현 2. 그래프 실행 # 파이썬2와 파이썬3에서 동일한..
첫번째 예제는 텐서플로우를 사용하여 “Hello, Tensorflow!”를 화면에 출력합니다. 다음 사이트에 있는 텐서플로우 예제들을 공부한 결과를 비정기적으로 올릴 예정입니다.https://github.com/aymericdamien/TensorFlow-Examples 텐서플로우 2.0에서 텐서플로우 1.x 코드를 실행하는 방법을 설명합니다. Tensorflow 2.0에서 Tensorflow 1.x 코드 실행하기https://webnautes.tistory.com/1393 # tensorflow 모듈을 임포트(import)하면 내부적으로 디폴트 그래프가 생성됩니다. import tensorflow as tf # 상수 오퍼레이션(constant operation)을 생성하여 디폴트 그래프에 추가합니다. ..
본 포스팅에서는 파이썬의 mutable 객체와 immutable 객체에 대해 is 연산자, id 함수, == 연산자를 중심으로 설명하고 있습니다. 2018. 5. 10 - 최초작성 2018. 7. 19 파이썬에서 모든 것은 객체(object)입니다. 객체가 생성된 후 ID는 변경되지 않으며 해당 객체가 프로그램 실행 중에 유일한 객체라는 것을 보장합니다. ( id 함수를 사용하면 객체의 ID를 확인할 수 있습니다. ) 특정 객체가 저장된 메모리 주소를 가리키는 고유 ID라고 생각할 수 있지만 실제 메모리 주소는 아닙니다. (CPython에서는 id 함수가 객체가 저장된 실제 메모리 주소를 리턴합니다.) 파이썬에서는 객체를 비교하기 위해 id 함수와 is 연산자가 제공됩니다. id(object) id 함수..
이번 포스팅에서는 파이썬 라이브러리인 pyBluz를 Raspberry Pi 3에 설치하여 Arduino 101 BLE (Bluetooth Low Energy) 제어 및 정보 가져오는 과정을 설명합니다. C언어하는 과정을 다음 포스팅에 소개하고 있습니다.[Arduino/Arduino 101 ( Genuino 101 )] - Raspberry Pi 3에서 Arduino 101 BLE (Bluetooth Low Energy) 제어 및 정보 가져오기 ( C 언어 라이브러리 사용 ) 우선 Arduino 101에 블루투스를 이용하여 LED를 제어하는 예제 프로그램이 업로드 되어 있어야 하는데 그 과정은 다음 두 개의 포스팅에 소개하고 있습니다. 먼저 아래 포스팅은 아두이노 IDE에서 Arduino 101를 대상으로..
opencv 3.0 부터는 cv 모듈이 제거 된거 같습니다.. 그래서 기존 코드는 동작안될듯 합니다..대신 사용할 수 있는 코드를 찾았습니다.. 1234567891011121314151617import cv2import urllib import numpy as np stream=urllib.urlopen('http://plazacam.studentaffairs.duke.edu/mjpg/video.mjpg')bytes=''while True: bytes+=stream.read(1024) a = bytes.find('\xff\xd8') b = bytes.find('\xff\xd9') if a!=-1 and b!=-1: jpg = bytes[a:b+2] bytes= bytes[b+2:] i = cv2.imde..
pyttsx 패키지 설치 $ sudo pip install pyttsx 태스트를 위한 간단한 예제 import pyttsxengine = pyttsx.init() engine.say('Greetings!')engine.say('How are you today?') engine.runAndWait() 영상으로부터 문자를 추출해냈던 태스트 프로그램에 적용시켜봤습니다. [그래픽스&컴퓨터비전/opencv 프로그래밍] - pytesseract와 opencv를 이용하여 문자 인식 태스트 ( OCR ) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import cv2import PILim..
윈도우(일정 범위)를 모든 방향으로 이동시키며 픽셀의 강도 변화를 측정함으로써 윈도우 내의 특징을 발견할 수 있다. 평평한 영역에서는 모든 방향으로 픽셀 강도 변화가 없다.에지에서는 에지의 방향따라 픽셀 강도 변화가 없고 에지와 수직방향으로 픽셀 강도 변화가 있다.코너에서는 모든 방향에 대해 강한 픽셀 강도 변화가 존재한다. 윈도우내의 좌표(x,y)에 있는 픽셀 강도와 (u,v)만큼 윈도우를 시프트 시켰을때 픽셀 강도의 변화량은 다음 식으로 측정한다. Window function은 직사각형 윈도우이거나 가우시안 윈도우를 사용하며 윈도우 아래의 픽셀들에 가중치를 주는 용도로 사용되어 진다. 평평한 영역에서는 강도 변화가 거의 없기 때문에 위 식은 0에 가까울 것이다.특징을 추출할 수 있는 것들이 많은 영역..
버튼을 누르는 순간 폴링 에지 인터럽트가 발생하여 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
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()
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..