vision_camera
영상처리, 인공지능 비전 기술을 사용합니다.
Class:
Camera
- class openpibo.vision_camera.Camera(cam=0, width=None, height=None)[소스]
기반 클래스:
object
Functions:
imread()
read()
create_matte()
imshow_to_ide()
resize()
rotate()
imwrite()
draw_bitmap()
rectangle()
circle()
line()
putTextPIL()
putText()
stylization()
detailEnhance()
pencilSketch()
edgePreservingFilter()
flip()
파이보의 카메라를 제어합니다.
사진 촬영, 읽기, 쓰기 등 카메라 기본 기능을 사용할 수 있습니다.
이미지에 도형/글자를 추가할 수 있습니다.
이미지를 변환할 수 있습니다.
example:
from openpibo.vision_camera import Camera camera = Camera() # 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
- imshow(img, ratio=1.0)[소스]
이미지 파일을 Web IDE에 출력합니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
ratio (float) – 이미지 사이즈 변환 비율 (다수 동시 사용시, 네트워크 부하)
- imshow_to_ide(img, ratio=0.25)[소스]
이미지 파일을 Web IDE에 출력합니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
ratio (float) – 이미지 사이즈 변환 비율 (다수 동시 사용시, 네트워크 부하)
- resize(img, w, h)[소스]
Opencv 이미지의 크기를 변환합니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
w (int) – 변환될 이미지의 가로 크기입니다. (픽셀 단위)
h (int) – 변환될 이미지의 세로 크기입니다. (픽셀 단위)
- 반환:
크기 변환 후의
numpy.ndarray
이미지 객체
- rotate(img, degree=10, ratio=0.9)[소스]
이미지를 회전시킵니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
degree (int) – 회전할 각도
ratio (float) – 축소 또는 확대할 비율
- 반환:
회전한
numpy.ndarray
이미지 객체
- imwrite(filename, img)[소스]
이미지를 파일로 저장합니다.
- 매개변수:
filename (str) – 저장할 파일 경로(jpg, png)
img (numpy.ndarray) – 저장할 이미지 객체
- draw_bitmap(w, h, val, background=(255, 255, 255), pixel=(0, 0, 0))[소스]
비트맨 데이터를 이미지로 생성성합니다.
- 매개변수:
w (int) – bitmap 가로 길이
h (int) – bitmap 세로 길이
background (tuple) – 배경 색상
pixel (tuple) – 비트 색상
- 반환:
numpy.ndarray
이미지 객체
- rectangle(img, p1, p2, colors=(255, 255, 255), tickness=1)[소스]
이미지에 직사각형을 그립니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
p1 (tuple(int, int)) – 좌측상단 좌표 (x, y)
p2 (tuple(int, int)) – 우측하단 좌표 (x, y)
colors (tuple(int, int, int)) – RGB 값 (r, g, b) or 16진수 값 ‘#ffffff’
tickness (int) – 사각형 모서리의 두께 (픽셀 단위) -1 은 채움
- circle(img, p, r, colors=(255, 255, 255), tickness=1)[소스]
이미지에 원을을 그립니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
p (tuple(int, int)) – 좌측상단 좌표 (x, y)
r (int) – 반지름
colors (tuple(int, int, int)) – RGB 값 (r, g, b) or 16진수 값 ‘#ffffff’
tickness (int) – 사각형 모서리의 두께 (픽셀 단위) -1은 채움
- line(img, p1, p2, colors=(255, 255, 255), tickness=1)[소스]
이미지에 직선을 그립니다.
- 매개변수:
img (numpy.ndarray) – 이미지 객체
p1 (tuple(int, int)) – 시작 좌표 (x, y)
p2 (tuple(int, int)) – 끝 좌표 (x, y)
colors (tuple(int, int, int)) – RGB 값 (r, g, b) or 16진수 값 ‘#ffffff’
tickness (int) – 선의 두께 (픽셀 단위)
- putTextPIL(img, text, points, size=30, colors=(255, 255, 255))[소스]
이미지에 문자를 입력합니다. (한/영 가능 - pillow 이용)
- 매개변수:
img (numpy.ndarray) – 이미지 객체
text (str) – 표시할 문자열
points (tuple(int, int)) – 텍스트 블록 좌측상단 좌표 (x, y)
size (int) – 표시할 글자의 크기
colors (tuple(int, int, int)) – 글자 색깔 RGB 값 (b, g, r) or 16진수 값 ‘#ffffff’
- putText(img, text, points, size=1, colors=(255, 255, 255), tickness=1)[소스]
이미지에 문자를 입력합니다. (영어만 가능)
- 매개변수:
img (numpy.ndarray) – 이미지 객체
text (str) – 표시할 문자열
points (tuple(int, int)) – 텍스트 블록 좌측하단 좌표 (x, y)
size (int) – 표시할 글자의 크기
colors (tuple(int, int, int)) – 글자 색깔 RGB 값 (r, g, b) or 16진수 값 ‘#ffffff’
tickness (int) – 글자 두께
- stylization(img, sigma_s=100, sigma_r=0.5)[소스]
만화 이미지로 변환합니다. (opencv api) low speed
- 매개변수:
img (numpy.ndarray) – 이미지 객체
sigma_s (float) – 이미지의 blur 보존 정도 (1-200)
sigma_r (float) – 이미지의 Edge 적용 정도 (0-1)
- 반환:
numpy.ndarray
이미지 객체
- detailEnhance(img, sigma_s=100, sigma_r=0.05)[소스]
만화 이미지로 변환합니다. (opencv api)
- 매개변수:
img (numpy.ndarray) – 이미지 객체
sigma_s (float) – 이미지의 blur 보존 정도 (1-200)
sigma_r (float) – 이미지의 Edge 적용 정도 (0-1)
- 반환:
numpy.ndarray
이미지 객체
- pencilSketch(img, sigma_s=100, sigma_r=0.2, shade_factor=0.018)[소스]
스케치 이미지로 변환합니다.
example:
img = camera.read() camera.sketchize(img)
- 매개변수:
img (numpy.ndarray) – 이미지 객체
sigma_s (float) – 이미지의 blur 보존 정도 (1-200)
sigma_r (float) – 이미지의 Edge 적용 정도 (0-1)
shade_factor (float) – 이미지의 밝기 정도 (0-0.1)
- 반환:
numpy.ndarray
이미지 객체 / grayscale, bgr