전체 글 75

AIoT 정규 67일차

대형마트 주차장 관리 키오스크를 위한 데이터베이스 설계 : 대형마트 주차장 관리 키오스크 만들기 프로젝트를 위한 데이터베이스 설계를 진행해보겠다. 전반적으로 차량의 입차 및 출차 정보를 관리하고 주차 요금을 계산하는데 사용할 예정이다. 1.테이블 설계 : Vehicle_parking_manage 테이블 만들기 - vehicle_id: 차량 ID (자동 생성, 기본 키) - vehicle_owner: 차량 소유자 이름 - vehicle_num: 차량 번호 (고유한 값) - entrance_or_exit: 입차 또는 출차 정보 - entry_time: 입차 시간 (기본값: 현재 시간) - exit_time: 출차 시간 - parking_type: 주차 타입 ('정기' 또는 '일반') - img_name: 차..

AIoT 2024.04.19

AIoT 정규 66일차

대형마트 주차장 관리 키오스크 프로젝트 - Day 2 - 바코드 인식 기능 만들기: 1. 테스트에 사용할 바코드 생성(https://barcode.tec-it.com/en/): Free Online Barcode Generator: Create Barcodes for Free! This free online barcode generator creates all 1D and 2D barcodes. With TEC-IT Barcode Software you generate barcodes as part of applications or web-sites. Available as Barcode ActiveX, Barcode .NET Web Forms Control, Barcode DLL. barcode.tec..

AIoT 2024.04.17

AIoT 정규 65일차

대형마트 주차장 관리 키오스크 프로젝트 - 목표 사전 정산 기능 및 영수증 바코드/QR 코드 인식 기능 추가: 사용자가 주차장에 들어가기 전에 사전 정산을 할 수 있도록 기능을 추가한다. 주차 요금을 미리 계산하고 결제할 수 있는 기능을 구현. 영수증 바코드 또는 QR 코드를 인식하여 결제 정보를 확인하고, 사용자에게 영수증을 제공하는 기능을 추가. DB 설계 및 데이터 관리: 방문차량과 정기차량 데이터를 어떻게 관리할지 구상해야 합니다. 방문차량과 정기차량의 입차 시간과 출차 시간을 기록하고 관리. MySQL과 같은 데이터베이스를 사용하여 차량 정보를 효율적으로 저장하고 조회할 수 있도록 설계. 방문 차량 같은 경우에는 처음으로 방문했을 시에 DB에 어떤 식으로 insert 할지 설계. 사용자 친화적인..

AIoT 2024.04.15

AIoT 정규 64일차

번호판 인식 프로젝트(完) DB 조회 후 PASS 여부 출력 : 우선 DB(지금의 경우에는 MySQL)와 연결을 하기 위해서 "mysql.connector" 모듈을 설치해 준다. pip install mysql.connector 그다음 DB연결을 위해 필요한 정보들을 변수를 지정해서 설정해 준다. (보안 문제로 별도에 폴더에서 사용하는 게 권장됨) connection = mysql.connector.connect( host='호스트명', user='유저이름', password='비밀번호', database='데이터베이스명', auth_plugin='mysql_native_password' 밑에 auth_plugin을 설정한 이유는 MySQL 데이터베이스에서 사용자 인증에 대한 플러그인을 설정하는 것이다...

AIoT 2024.04.11

AIoT 정규 63일차

2. 번호판 등록 - 데이터 베이스 설계 - DB (MySQL)에 CSV파일 load 하기: 우선 관리 프로그램을 만들기 전에 MySQL에서 DB를 생성한 뒤 CSV파일을 load 해 보겠다. car_id는 db자체적으로 프라이머리 키로 사용하기 위해서 생성하였고 값이 없을 시에는 Auto_increment를 사용해서 값이 증가하게 설계했다. car_owner는 자동차 주인으로 일단은 파일명으로 지정해 놓았고 추후에 차량 소유주의 이름을 입력하기 위해 지정하였다. car_num은 말 그대로 차량번호로 나중에 이미지를 인식해서 db에 해당 차량번호가 있을 시에 만 pass를 하도록 할 것이다. 그리고 car_num에 중복입력이 되는 걸 방지하기 위해서 유니크 조건을 추가하였다. CREATE TABLE Ve..

AIoT 2024.04.09

AIoT 정규 62일차

번호판 인식 프로젝트 (참고: https://velog.io/@mactto3487/프로젝트-OpenCV-자동차-번호판-인식) OpenCV 자동차 번호판 인식 자동차 번호판 인식 with OpenCV 1. 라이브러리 호출 2. Read Input Image 3. Convert Image to Grayscale¶ 4. Adaptive Thresholding 4-1. Gaussian Blur 비적용 / 적용 비교 5. velog.io 프로젝트 계획 1. 번호판 인식 프로그램 OpenCV를 활용하여 번호판 인식 프로그램 설계 카메라가 필요할 수도 있음, 없다면 이미지 파일로 대체 최대한 높은 인식률 목표 인식 후에 데이터를 pandas를 활용하여 csv파일로 저장 2. 번호판 등록 - 데이터 베이스 설계 csv..

AIoT 2024.04.08

AIoT 정규 61일차

OpenCV를 이용해서 얼굴 블러처리 하기 : OpenCV를 활용해서 간단하게 이미지나 비디오 파일을 블러 처리할 수 있게 만들어 보겠다. "blur_image.py" 파일과 "blur_video.py" 파일로 각각 사진과 영상 파일을 처리할 수 있고, 영상 파일의 크기 조절이 필요할 시 "video_resizing.py" 파일로 동영상 파일명을 입력해서 처리할 수 있습니다. - "blur_image.py" import face_recognition import cv2 def blur_faces_in_image(image_path): # 이미지 파일 경로 설정 img = face_recognition.load_image_file(image_path) # 얼굴 위치 정보를 찾습니다. face_locatio..

AIoT 2024.04.05

AIoT 정규 60일차 - Git

Git : Git은 파일의 버전 관리를 위한 강력한 도구이고 팀으로 작업할 때 더욱 유용하다. git init: Git으로 관리할 폴더를 생성하고 Git을 시작합니다. git add: 파일을 버전 관리 가능한 영역으로 등록합니다. git add (파일명): 특정 파일을 등록 git add .: 현재 폴더의 모든 파일과 폴더를 등록 git add -A: 모든 파일을 등록 git commit: 현재 관리 중인 파일을 하나의 버전으로 저장합니다. git commit -m "(커밋 메세지)": 커밋 메세지와 함께 버전을 저장 git log: 커밋 로그를 확인하여 버전 이력을 파악합니다. git branch: 브랜치를 생성하거나 확인합니다. git branch (브랜치명): 새로운 브랜치 생성 git revert..

AIoT 2024.04.04

AIoT 정규 59일차

아두이노 1. 디지털신호와 아날로그 신호 디지털(Digital) 신호 디지털 신호는 0과 1로 표현할 수 있는 신호입니다. 시간에 따라 디지털 신호를 표현하면 1을 전압 값으로 표현하면 5V(볼트), 0은 0V(볼트)를 의미합니다. 아두이노에서 5V는 HIGH, 0V는 LOW 값으로 표현합니다. 시간의 흐름에 따라 항상 HIGH 또는 LOW의 값을 표현하기 때문에 불연속적인 신호라고 부릅니다. 이는 HIGH, LOW 외에 중간 값을 가질 수 없다는 의미입니다. 전압(V)의 크기는 아두이노 보드의 동작 전압과 연관이 있습니다. 5V에서 동작하는 아두이노 우노(UNO)의 경우 HIGH의 값은 5V이고, LOW의 값은 0V입니다. 한편, 3.3V에서 동작하는 아두이노 듀(Due)의 경우 HIGH의 값은 3.3..

AIoT 2024.04.03