반응형

분류 전체보기 764

[아두이노] String함수: compareTo, equals, equalsIgnoreCase, length, replace

목차 이번 포스트는 문자열 (String) 관련 함수들 중에 중요 함수에 대해 알아보도록 하겠습니다. 함수를 코드로 돌리고 확인은 Arduino에서 제공하는 시리얼 모니터로 하겠습니다. 시리얼(Serial) 통신 사용 방법 및 모니터링 방법은 아래 링크를 참조하시면 됩니다. (https://scribblinganything.tistory.com/512) Arduino 문자열 compareTo 함수 compareTo 함수는 문자열(String)을 비교해서 동일한 경우 0을 return하고 다른 경우 ASCII 코드 차이 만큼을 return 합니다. 예제 코드>> void setup() { Serial.begin(9600); while (!Serial) { ; } } void loop() { String s..

[아두이노] 문자열, 정수, 실수 크기 비교 하기 (Comparison)

목차 Arduino 문자열(String) 비교하기 : 기호 사용하기 우선 문자열 비교에 앞서 문자열(String)을 비교하고 검증하기 위해 시리얼 통신(Serial Communication)을 사용해서 결과 값을 컴퓨터로 전달해서 확인해야 합니다. 해당 내용은 아래 링크를 통해 하드웨어 구성 부터 모니터링 보는 방법을 확인하시길 바랍니다. (https://scribblinganything.tistory.com/512) 문자열을 비교할 때 일반 부등식 기호를 사용하거나 equals(), equalsIgnoreCase() 와 같은 함수를 사용해서 비교 합니다. 우선 비교 기호는 아래와 같이 있습니다. comparison: == greater than: > greater than or equal to: >= ..

[아두이노] 시리얼 통신 기본 : 문자열(String) 보내기

목차 Arduino Serial 통신 - 문자열 보내기 셋업 기본 하드웨어 구성은 아래와 같습니다. 아두이노 우노(Uno) + USB 케이블 + 노트북 아두이노 소프트웨어는 노트북에 설치되어 있습니다. 아두이노 포트가 연결된 Port 번호를 확인 후 보드와 연결해 줍니다. Arduino Serial 통신 - 문자열 보내기 코드 및 결과 시리얼 통신을 위한 코드는 아래와 같습니다. 코드>> void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello, World"); delay(3000); } 1~3번 라인: Serial 통신 연결을 위한 초기화 과정 5~8번 라인: 반복문 6번 라인: println 함수를 사용해서 괄호안의 문자열과 \..

[스마트티비 리뷰] LG 스탠바이미 Review

목차 LG 스탠바이미 장점, 단점 (장단점) 이번에 엘지에서 출시한 27인치 TV 스팬드바이미(StanbyME)의 특징을 한마디로 표현하면 배터리(Battery)로 동작되는 휠이 달린 화면의 위치 조정이 편리한 스마트 티비(Smart TV) 입니다. 말하다 보니 표현이 길어졌는데 앞서 한마디에서 장점이 다 있습니다. 저처럼 애가 있는 집에서는 티비를 거실에서 놓기 보다는 여기 저기 이동하면서 아이들 상태에 따라서 조정하고 싶을 때가 많습니다. 스탠 바이미는 아래 그림처럼 바닥면에 바퀴가 달려 있어 이동이 용이 합니다. 그리고 내장형 배터리 충전으로 3시간 동안 무선으로 재생이 가능합니다. 아래판 끝쪽에 충전선을 꽂는 부분이 있는데 무선으로 사용하지 않을 때는 일반 티비 처럼 전원을 연결해서 사용하시면 됩..

[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]OpenCV 픽셀 처리 함수: add, subtract, multiply, divide

목차 앞서 이미지(image)나 동영상(video) 파일을 읽어서 불러온 이미지는 픽셀(pixel)의 BGR(Blue, Green, Red) 값으로 구성 됨을 확인하였습니다. (https://scribblinganything.tistory.com/493) 이번 포스트는 픽셀을 비교 (연산) 분석할때 사용하는 주요 함수에 대해 알아보겠습니다. 함수는 더하기, 빼기, 곱하기 나누기 입니다. 함수 사용에 앞서 race_car.jpg 라는 그림 파일을 불러서 동일 사이즈로 BGR이 100, 100, 100인 그림을 만들어서 해당 그림과 비교하는 형식으로 예제를 실행하겠습니다. 예제 코드>> import numpy as np import cv2 img = cv2.imread("race_car.jpg") base_..

[Python]OpenCV 픽셀 처리 함수:max,min,absdiff,compare

목차 앞서 이미지(image)나 동영상(video) 파일을 읽어서 불러온 이미지는 픽셀(pixel)의 BGR(Blue, Green, Red) 값으로 구성 됨을 확인하였습니다. (https://scribblinganything.tistory.com/493) 이번 포스트는 픽셀을 비교 (연산) 분석할때 사용하는 주요 함수에 대해 알아보겠습니다. 함수 사용에 앞서 race_car.jpg 라는 그림 파일을 불러서 동일 사이즈로 BGR이 100, 100, 100인 그림을 만들어서 해당 그림과 비교하는 형식으로 예제를 실행하겠습니다. 예제 코드>> import numpy as np import cv2 img = cv2.imread("race_car.jpg") base_pixel = np.full(img.shape,..

[Python] Numpy 배열 값 채우기(1차, 2차, 3차 ....)

목차 파이썬 넘파이 행렬 어레이 채우기 행렬(Matrix) array 값을 채우는 방법은 간단합니다. 주로 full 과 fill 함수를 사용해서 채웁니다. fill 함수의 경우 empty 함수를 사용해서 비우는 작업을 하기 때문에 간단한 full로 설명을 대체 하겠습니다. full 함수의 Syntax는 아래와 같습니다. matrix = np.full((행렬사이즈 정보),넣을 값,dtype=데이터 종류) 아래 예제 코드를 통해 쉽게 이해해 보겠습니다. 예제 코드>> import numpy as np matrix = np.full((4),7,dtype=np.uint16) print("1차 행렬") print(matrix) matrix = np.full((3,4),7,dtype=np.uint16) print(..

[Python]OpenCV 3차원 이미지 스캔화면(2차원)처럼 바꾸기

목차 [Python]OpenCV 기하학적 변형하기(Geometry formation) 이번 포스트는 이름을 어떻게 작성할까 고민 끝에 일반 사진(Picture) 파일을 2차원의 스캔(Scan)한 것과 같은 효과로 만드는 것 같아서 스캔하기로 적었습니다. 이전 장에서는 2차원 평면(Plane)의 그림(Image)을 원근(Perspective)을 줘서 3차원처럼 보이게 만들었는데 이번에는 반대로 3차원의 원근 거리감이 있는 이미지 파일을 거리감이 없어지게 변형하는 코드를 작성해 보았습니다. 설명에 앞서 아래 예제의 결과를 먼저 공유 해서 이번 포스트의 진행 방향을 쉽게 이해가도록 하겠습니다. 아래 예제 결과>> 최근에 위와 같은 예제를 명함이나 스마트폰의 사진 기술에서 많이 볼 수 있습니다. 명함을 비뚫게 ..

[Python]OpenCV 이미지 기울어지게 만들기, 원근감 주기(getPerspectiveTransform, warpPerspective)

목차 파이썬 OpenCV 이미지 파일 원근감 주기(Perspective) 이번 포스트에서는 파이썬의 OpenCV를 사용해서 사진 파일(Picture file)을 불러와서 2차원 평면을 기울려서 3차원과 같은 형태로 원근감을 줘보겠습니다. 그림이 멀리서 보이는 듯하게 보이게 하기 위해서는 아래 작업들이 필요 합니다. 1. 원본 이미지 픽셀 크기 확인 2. getPerspectiveTransform 함수 3. warpPerspective 함수 사실 함수 사용법만 알면 간단하게 할 수 있는 작업입니다. getPerspectiveTransform 함수 사용에 대해 알아보겠습니다. getPerspectiveTransform(원본 이미지 좌표, 변경할 이미지 좌표) 입력값으로 원본 이미지의 좌표와 변경할 이미지의 ..

반응형