Page 965 - 3-3
P. 965
import cv2
#opencv 라이브러리 호출
import sys
# 시스템 관련 함수를 위한 라이브러리
import time
# 프로그램 실행 시간을 보기위한 라이브러리
import math
# 수학관련 함수를 호출하기 위한 라이브러리
import numpy as np
#python 배열의 기능을 확장하기 위한 함수
import operator
# 리스트 정렬을 위해 호출
import tensorflow as tf
#tensorflow 라이브러리 호출
import defCNN
# 사진을 찍는데 사용하는 사용자 지정 함수를 모아둔 라이브러리
import defCap
#CNN 을 사용할 때 필요한 사용자 지정 함수를 모아둔 라이브러리
cap=cv2.VideoCapture(0)
#0 번 카메라 객체 호출
cap.set(3,320)
cap.set(4,240)
#320*240 의 크기로 지정
plateListAns,plateCount=defCap.txtCount('plate.txt')
count=defCap.fileCount('D:\\deepLearing\\opencvDeepLearning\\project\\data')
#'D:\\deepLearing\\opencvDeepLearning\\project\\data' 주소에 있는 파일 목록을 세는 함수
with tf.device('/cpu:0'):
#cpu 로 처리한다
x=tf.placeholder(tf.float32,shape=[None,28,28,1])
#28*28*1 크기의 이미지를 x 에 여러장 저장 가능하도록 설정
y_label=tf.placeholder(tf.float32,shape=[None,plateCount])
# 정답 값을 plateCount 의 크기로 y_label 에 저장 가능하도록 설정
kernel1=tf.Variable(tf.truncated_normal(shape=[4,4,1,4],stddev=0.1))
#4*4*1 의 필터를 4 장 사용하기 위해서 정규분포로 초기화 정규분포의 난수( )
bias1=tf.Variable(tf.truncated_normal(shape=[4],stddev=0.1))
# 이미지와 kernel1 을 conv 한 후 사이즈 만큼 더해주기위한 변수
conv1=tf.nn.conv2d(x,kernel1,strides=[1,1,1,1],padding='SAME')+bias1
# 이미지 x 에 kernel1 을 컨볼루션곱을 한다
#2 칸을 이동하려면 [1,2,2,1] 로 한다
#padding 옵션에 따라서 출력 사이즈가 바뀜
- 965 -