프로그래머스 자율주행스쿨

TIL 21.01.19 - OpenCV 파이썬

donie 2021. 1. 19. 22:27

1강

OpenCV

오픈소스. BSD 라이센스(무료소프트웨어)


2강

이미지에서 1픽셀 표현을 위해 3채널 [B, G, R]형태로 3byte를 사용한다.

데이터 타입: numpy.ndarray

배열의 형태: 480 * 640 * 3

OpenCV 좌표계

도형 그리기

도형 함수
line(img, start, end, color, thickness)
사각형 rectangle(img, start, end, color, thickness)
circle(img, center, radius, color, thickness)
텍스트 putText(img, text, org, font, fontScale, color)

 

HSV 색상 표현

H : hue 색상

S : saturation 채도

V : value 명도

 

2021/01/19 - [OpenCV] - OpenCV python - 사각형그리기, 한 점 찾아내기, ROI, HSV, 동영상 재생

 

OpenCV python - 사각형그리기, 한 점 찾아내기, ROI, HSV, 동영상 재생

1. 사각형 그리기 소스코드 rectangle.py import cv2 img = cv2.imread('black.png', cv2.IMREAD_COLOR) img = cv2.rectangle(img, (100, 100), (300, 400), (0, 255, 0), 3) cv2.imshow('black', img) cv2.waitKe..

donie.tistory.com


3강

자이카 카메라

640p : 120fps

1080p : 30fps

USB 비디오 클래스 - UVC 1.1

 

자이카 카메라 관련
패키지 usb_cam
토픽 /usb_cam/image_raw

4강

2021/01/19 - [ROS] - Ubuntu16.04 ROS Kinetic - my_cam 패키지

 

Ubuntu16.04 ROS Kinetic - my_cam 패키지

1. 패키지 생성 catkin_create_pkg my_cam std_msgs rospy 2. launch 파일 edge_cam.launch 3. 소스 파일 edge_cam.py #!/usr/bin/env python # -*- coding: utf-8 -*- import cv2 import rospy import numpy as..

donie.tistory.com

ros 토픽의 저장

명령어 하는 것
rosbag record -a 날아다니는 모든 토픽을 저장. 멈추려면 CTRL-C
rosbag record rosout xycar_imu rosout, xycar_imu 이렇게 2개 토픽만 저장
rosbag record -O subset xycar_ultrasonic 토픽을 subset.bag 파일로 저장
rosbag info subset.bag 저장된 파일의 각종 정보를 보여줌.
rosbag play subset.bag 저장했던 토픽 재생.
rosbag play -r 2 subset.bag 2배속으로 재생.

2021/01/19 - [ROS] - Ubuntu16.04 ROS Kinetic - 저장된 ROS bag 파일에서 특정 토픽만 꺼내 동영상파일로 저장하기

 

Ubuntu16.04 ROS Kinetic - 저장된 ROS bag 파일에서 특정 토픽만 꺼내기

목표: full_topic.bag에서 카메라 관련 토픽만 따로 cam_topic.bag으로 저장하기 1. roscore 터미널#1에서 roscore실행 2. 저장 실행 터미널#2에서 record를 먼저 실행시켜놓는다. rosbag record -O cam_topic /u..

donie.tistory.com

2021/01/19 - [OpenCV] - Ubuntu16.04 ROS Kinetic OpenCV - rosbag 재생해서 영상처리

 

Ubuntu16.04 ROS Kinetic OpenCV - rosbag 재생해서 영상처리

1. 소스코드 edge_cam.py #!/usr/bin/env python # -*- coding: utf-8 -*- import cv2 import rospy import numpy as np from sensor_msgs.msg import Image from cv_bridge import CvBridge bridge = CvBridge()..

donie.tistory.com


5강

2021/01/19 - [ROS] - Ubuntu16.04 ROS Kinetic - lidar_drive 패키지 : 라이다기반 장애물 회피 주행

2021/01/19 - [ROS] - Ubuntu16.04 ROS Kinetic - lidar_drive 패키지 : 라이다 기반 장애물 회피 주행2