Skip to content

Instantly share code, notes, and snippets.

@panchiga
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save panchiga/086a1a0c2a2bc05a70c2 to your computer and use it in GitHub Desktop.
Save panchiga/086a1a0c2a2bc05a70c2 to your computer and use it in GitHub Desktop.
import cv2
import serial
def main():
#カメラの準備
cap = cv2.VideoCapture(0)
#シリアル通信の準備
ser = serial.Serial()
#シリアルポートは/dev/tty.usbmodem**となってるはず
ser.port = '/dev/tty.usbmodem1421'
ser.baudrate = 9600
ser.open()
###画面を2値化して真っ白になったらシリアル送信###
while True:
flag = 0
#frameにcapの1フレームを代入
ret, frame = cap.read(0)
#速く回すために画面サイズを小さくした
frame = cv2.resize(frame,(100,100))
#画面の2値化
#閾値が今は170となっているが不安定ならここを変える
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
retu, binal = cv2.threshold(gray, 170, 255, cv2.THRESH_BINARY)
#高速で回せる範囲内で画面が真っ白になったかを判定する
for height in range(30):
for width in range(30):
b = binal[height, width]
if flag == 1:
break
if b != 255:
flag = 1
if flag == 1:
break
#画面が真っ白だったらシリアル送信
if flag == 0:
ser.write('o')
#ちゃんと動いてる風か確認の為の画面の描画
#cv2.imshow('framd', frame)
#cv2.imshow('bin',binal)
#おしまい
cap.release()
cv2.destroyAllWindow()
if __name__ == '__main__':
main()
@panchiga
Copy link
Author

panchiga commented Dec 8, 2014

Arduinoと一緒に動かすよ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment