반응형

Python 61

[Python] Numpy where 함수란? 예제 실습

목차 파이썬 Numpy where 함수란? 파이썬 numpy.where() 함수는 조건에 맞는 입력 어레이(array) 값의 인덱스(index) 값을 알려줍니다. Syntax는 아래와 같습니다. numpy.where(condition[, x, y]) 조건문이 만족(True)할 경우 x값을 False 일 경우 y를 출력 해줍니다. 조건만 있을 경우 조건의 입력 값에 index를 출력 해줍니다. 파이썬 Numpy where 예제 실습#1 예제 코드>> import numpy as np a_var = np.array([[1, 2, 3], [4, 5, 6]]) print("raw_data") print(a_var) print ("5와 같거나 작은 index 값") indices = np.where(a_var> ..

[라즈베리파이]웹 제어로 LED켜고 끄기(web server, remote control, flask)

목차 Raspberry Pi 웹서버에서 LED 제어하기 이번에는 보드의 GPIO23번 핀에 LED를 연결하고 flask를 사용해서 웹서버를 구동합니다. 외부에 노트북을 사용해서 해당 웹서버(Web server)에 접속하고 브라우저에 나온 버튼을 클릭하여 LED를 켜고 끄는 시험을 해보겠습니다. 하드웨어 연결은 아래와 같이 합니다. 원래 GPIO23번 핀과 GND 사이에 1kohm 저항(Resistor)을 둬서 LED를 보호해야 하나 귀찮아서 다이렉트로 연결했습니다. LED를 오래 쓰실려면 꼭 저항을 직렬로 연결해주세요 전체 코드>> #!/usr/bin/python3 from flask import Flask, render_template_string import RPi.GPIO as GPIO GPIO.s..

[라즈베리파이] Polling과 Interrupt로 입력 신호 받기(폴링, 인터럽트)

Raspbeery Pi Polling으로 입력 신호 받기 폴링(Polling) 방식은 지속적으로 해당 입력 신호쪽에 값을 기다리면서 값이 들어올때 값을 처리하는 방식입니다. 그렇기 때문에 비효율적인 방식입니다. 아래는 폴링(Polling) 방식의 특징입니다. 폴링을 시행하면 보드의 다른 코드를 진행할 수 없음 지속적으로 모니터링하여서 전력을 상대적으로 많이 사용 실제 폴링으로 동작하는 예제 코드를 통해 쉽게 이해해 보도록 하겠습니다. 해당 코드는 라즈베리파이 보드에서 나가는 5V신호와 접지(Ground) 신호를 저항 10kohm으로 GPIO23번 핀에 연결했다가 떨어뜨렸다가 하는 식으로 마치 버튼을 동작하는 것처럼 조작해서 이를 카운트하는 코드 입니다. 카운트 값은 print로 보드에서 확인할 수 있습니..

[Python] PySide 라벨 키보드 이벤트 (Lable, Keyboard, Event)

목차 파이썬 PySide 라벨 키보드 이벤트 (Lable, Keyboard, Event) 앞서 포스트에서 마우스(Mouse) 클릭 별 이벤트 발생 시 특정 함수나 기능을 실행시키는 방법에 대해 알아보았습니다. 이번 포스트에서는 라벨(Label)에 텍스트 입력(Text Input) 창을 만들고 텍스트에 입력창에 텍스트를 입력 시 해당 입력을 즉각적으로 표기하는 방법에 대해 알아보겠습니다. 예제를 통해 쉽게 알아보겠습니다. 예제 코드>> from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QVBoxLayout, QWidget from PySide6.QtCore import QSize import sys class Qt_Ex(..

[Python] 공공데이터포털에서 미세먼지 데이터 가져오기(크롤링, fine dust, API, 파이썬)

목차 이번 시간에는 파이썬을 사용해서 공공데이터 포탈의 API에 접속해서 미세먼지 정보를 가져오는 방법에 대해 알아보겠습니다. API(Application Programming Interface) 란? API란 데이터회사나 웹서버(Web server) 회사에서 제공하는 리모콘과 같은 것입니다. 사용자는 리모콘의 동작 방법을 이해하지는 못하지만 리모콘을 통해서 웹 서버 회사가 제공하는 데이터를 손쉽게 접근할 수 있게 되는 것입니다. 여기서 공공데이터 포탈은 API를 통해 미세 먼지 정보를 손쉽게 제공 합니다. 공공데이터포탈에서 API 요청하기 우선 구글에서 공공데이터포털로 검색하거나 https://www.data.go.kr/ 에 접속합니다. 정부기관 홈페이지므로 go.kr로 끝나는지 꼭 확인하시길 바랍니다..

[Python]OpenCV 임계값 비교하기 threshold

목차 이번 포스트에서는 이미지가 가지고 있는 픽셀값을 threshold 함수를 사용해서 사용자가 지정한 문턱 값과 비교해서 옵션에 따라 처리하는 예제를 실행합니다. 우선 원본으로 사용할 이미지는 아래와 같습니다. 예제 코드>> import cv2 img = cv2.imread('gradient.jpg') print(img) cv2.imshow("original", img) cv2.waitKey(0) cv2.destroyAllWindows() 결과>> [[[116 116 116] [116 116 116] [116 116 116] ... 원형태로 가운데로 갈수록 밝아지는(픽셀값은 255에 가까워짐) 그림입니다. 파이썬 OpenCV threshold 함수 Syntax 이미지(image)의 임계값을 확인해서 비..

[Python]파이썬으로 PDF 자르기, 붙이기, 편집하기

목차 [Python]파이썬으로 PDF 붙이기 파이썬에서 제공하는 PyPDF2 라이브러리를 사용하면 손쉽게 PDF 편집(Edit)을 할 수 있습니다. 우선 PDF 문서를 붙이는 (Append, Combine, Merge) 방법에 대해 알아 보겠습니다. 방법은 아래와 같이 간단하게 진행 됩니다. PdfFileReader 함수로 PDF 문서 페이지 일기 PdfFileWriter 함수로 읽은 문서를 저장 / 쓰기 아래 예제를 통해 구현해보겠습니다. 참고로 예제 구현을 위해 pdf001.pdf 파일과 pdf002.pdf 파일을 만들었고 문서(Document) 내용은 아래와 같습니다. 예제 코드>> from PyPDF2 import PdfFileReader, PdfFileWriter pdf_writer = PdfF..

파이썬(Python) 2022.04.02

[Python] 키보드(keyboard) 이벤트(event) 값 읽기

목차 파이썬 키보드 값 클릭 확인 함수 is_pressed 파이썬(Python)의 키보드 값을 입력하면 입력에 대응해서 뭔가를 처리하고 싶을 때가 있습니다. 이러한 이벤트(event)를 감지하기 위해 필요한 라이브러리가 keyboard 입니다. 만일 keyboard 라이브러리가 없다면 pip install keyboard로 먼저 설치를 하시길 바랍니다. 키보드를 통해 입력한 값이 맞는지를 확인하는 함수는 is_pressed 입니다. 아래 예제 코드를 보시면 쉽게 이해할 수 있습니다. 예제 코드>> import keyboard while True: if keyboard.is_pressed("1"): print("hello") break 4번 라인: 키보드 1버튼을 클릭하면 if 문 실행 결과>> 코드 실행..

[Python]OpenCV 이미지 마우스 클릭 좌표(위치) 값 확인(selectROI 함수)

목차 OpenCV 이미지 마우스 클릭 좌표 값 확인 파이썬 OpenCV의 함수 중에 selectROI 함수는 이미지(image) 파일이나 그림 파일을 읽었을 때 마우스로 원하는 이미지를 클릭하면 해당 위치(Location) 값을 return해 줍니다. selectROI 함수 사용법은 아래와 같습니다. Syntax>> cv2.selectROI(윈도우창 이름, 소스 이미지명, 격자형태 선택) 윈도우창 이름은 imshow를 사용했을 때 처럼 selectROI도 이미지 창을 만들어 주는데 이미지 창(window)의 이름을 설정합니다. 소스 이미지명은 imread로 읽은 이미지 파일(image file)의 return 값을 저장한 객체 명을 입력 합니다. 격자 형태는 마우스를 클릭하면 사각형이 만들어 지는데 Fa..

[Python]tkinter Frame과 Option 값 사용 예제(bg, bd, cursor, height, highlightbackground, highlightcolor, highlightthickness)

목차 파이썬(Python) 프레임(Frame) 이란? Frame 위젯(Frame)은 GUI 구성에서 중요한 요소입니다. 건물의 층과 같이 Frame을 사용해서 층을 구성하고 내부를 pack이나 grid를 사용해서 집들을 넣는 식으로 GUI도 구성이 가능 합니다. 사용 방식은 아래와 같습니다. Frame (master,options) mater는 부모가 되는 윈도우(Window)를 의미합니다. frame 안에 새로운 frame을 넣는 것도 가능 합니다. option은 아래와 같습니다. 예제와 함께 하나씩 사용 방법에 대해 알아 보겠습니다. bg bd cursor height highligtbackground highlightcolor highlightthickness relief width 우선 예제 코드..

반응형