티스토리 뷰
728x90
개요
- Intel에서 만든 영상 처리와 컴퓨터 비전 관련 오픈 소스 라이브러리
- C/C++ 로 구현했는 데 여러 플랫폼에서 C, C++, Python, Java, C#, Javascript 언어로 사용 가능
- MMX나 SSE 명령어를 통해서 고속의 알고리즘을 구현. 실시간 비전 응용의 강점을 가지고 있다.
- 영상 및 비디오 입출력, 영상 처리, 컴퓨터 비전 관련 기본 알고리즘, 기계학습모듈이 내장
- 최근의 버전에서는 딥러닝 모델도 추가
- CUDA와 Open CL 인터페이스가 개발
Home
OpenCV provides a real-time optimized Computer Vision library, tools, and hardware. It also supports model execution for Machine Learning (ML) and Artificial Intelligence (AI).
opencv.org
OpenCV: OpenCV-Python Tutorials
Core Operations In this section you will learn basic operations on image like pixel editing, geometric transformations, code optimization, some mathematical tools etc.
docs.opencv.org
설치 및 확인(python)
윈도우 버전 설치(명령어 창에 입력)
pip install opencv-python
설치 확인(명령어 창에 순서대로 입력)
python
import cv2
cv2.__version__
윈도우 제어
윈도우 생성
cv2.namedWindow(이름[,플래그])
- 플래그는 윈도우 크기 관련 옵션: cv.WINDOW_NORMAL이나 cv2.WINDOW_AUTOSIZE
- 일반적으로 파이썬은 옵션의 값을 문자열로 지정한다. 그러나 Open CV에서는 상수를 이용해서 설정한다.
윈도우 출력
cv2.imshow(윈도우 이름, 윈도우에 표시되는 영상 배열 - numpy.ndarray)
윈도우 파괴
cv2.destroyALLWindows()
영상 입출력
영상 가져오기
cv2.imread("이미지 파일 경로", 이미지 옵션) -> numpy.adarray
이미지 옵션
- cv2.IMREAD_UNCHANGED: 알파채널 포함
- cv2.IMREAD_GRAYSCALE: 알파채널 포함
- cv2.IMREAD_COLOR:
- cv2.IMREAD_ ANYDEPTH
- cv2.IMREAD_ANYCOLOR
matplotlib.pyplot.imshow
- matplotlib를 이용해서 이미지 출력
- numpy의 ndarray나 PIL 이미지를 출력
- 컬러 이미지를 출력할 때 BGR 순으로 출력하기 때문에 빨강 색과 파랑 색이 반전되서 출력된다. 그러므로 출력 시 cv2.cvtColor(이미지 데이터, dv2.COLOR_BGR2RGB)를 이용해서 색상 값의 순서를 변경해주어야 한다.
실습
import cv2
from matplotlib import pyplot as plt
#이미지를 가져오기
image = cv2.imread("Downloads/python_opencv-main/python_opencv-main/data/plane.jpg", cv2.IMREAD_COLOR)
img_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
#이미지 출력
plt.imshow(img_rgb)
plt.show()
#흑백 이미지의 shape(차원): 2차원 좌표에 값이 있는 구조
print(image.shape)
728x90
'기타' 카테고리의 다른 글
[개발자 지망생 추천 대외활동] 위니브 엠베서더 3기 선정 후기 (2) | 2024.06.22 |
---|---|
[AWS] serverless 웹 애플리케이션 구축 개요 (1) | 2024.03.26 |
[API]WHOIS OPENAPI (1) | 2024.03.19 |
git과 git hub 사용하기 (0) | 2024.01.19 |
LG 헬로비전 DX DATA 스쿨 2기 합격 후기 (28) | 2023.12.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 코딩테스트
- 백준
- 웹개발
- 위니브엠베서더
- it도서큐레이션
- 알고리즘
- 인프런
- ssafy기자단
- 오블완
- 프로그래머스
- 더오름
- SSAFYcial
- 알고리즘이론
- 생성형 AI
- 티스토리챌린지
- 웹
- 인프런강의후기
- 인프런강의
- 위니브
- 제주코딩베이스캠프
- 웹프로그래밍
- Python
- dataframe
- PANDAS
- numpy
- 백준알고리즘
- 전자회로
- django
- 파이썬
- SSAFY
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함
250x250