일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 구루미 고객센터
- micro-bit
- 3dmodeling
- 무드등
- 레이저커팅
- 22ww.tistory.com
- 3D모델링
- laserutting
- 3d
- 구루미biz
- 3Dprinting
- 3D프린팅
- fusion360
- 3D modeling
- seoulmysoul
- 3D PRINTING
- 3D 모델링
- FUSION 360
- 볼트 모델링
- 프리미어
- lasercutting
- Premiere
- BrainCar
- 구루미biz(gooroomeebiz)
- 구루미 장애사항
- 구루미비즈
- LayerCutting
- suno
- 서울마이소울
- ChatGPT
- Today
- Total
CodingMaker
Python 사진,영상 불러오기 본문
파이썬 설치
https://www.python.org/ 최신버전 설치하기
설치할 때 PATH에 경로 포함하도록 설정
Install Now 클릭
주소 길이 제한을 풀어준다.
CMD 입력후 명령 프롬프트를 실행한다.
pip install opencv-contrib-python
pip 파이썬 팩키지 관리자
IDLE 입력 찾기 실행하기
참고자료
http://opencv-python.readthedocs.io
https://opencv-python-tutroals.readthedocs.io
http://opencv-python.readthedocs.io/en/latest/doc/01.imageStart/imageStart.html
예제1
⦁ import cv2
⦁
⦁ img = cv2.imread('cat.jpg')
⦁ cv2.imshow('image',img)
1. import cv2
OpenCV-Python 모듈을 추가
3. imread
cv2 모듈 안에 imread라는 함수로 이미지를 읽어 img 변수에 저장한다.
4. imshow
cv2 모듈의 imshow 함수로 img 변수에 저장된 이미지를 새 창을 띄워 보여준다. 이 창의 제목은 image이다.
cv2 모듈이 설치돼 있지 않으면 아래와 같은 메시지가 나온다.
정상적으로 실행되면 다음과 같은 화면이 나온다.
예제2
⦁ import cv2
⦁
⦁ img_color = cv2.imread('smile.png', cv2.IMREAD_COLOR)
⦁ img_gray = cv2.imread('smile.png ', cv2.IMREAD_GRAYSCALE)
⦁ img_alpha = cv2.imread('smile.png ', cv2.IMREAD_UNCHANGED)
⦁ cv2.imshow('color',img_color)
⦁ cv2.imshow('gray',img_gray)
⦁ cv2.imshow('alpha',img_alpha)
cv2.IMREAD_COLOR : 컬러로 이미지를 읽고, 투명도는 무시한다. 기본 플래그. 1로 대체 가능
cv2.IMREAD_GRAYSCALE : 흑백으로 이미지를 읽음. 0으로 대체 가능
cv2.IMREAD_UNCHANGED : 알파 채널을 포함하여 이미지를 읽음. -1로 대체 가능
각각의 다르게 읽은 이미지는 어떤 차이가 있을까?
>>> img_color.shape
(84, 84, 3)
>>> img_alpha.shape
(84, 84, 4)
>>> img_gray.shape
(84, 84)
>>>
import 외부 함수를 불러들인다.
numpy 파이썬 수학 팩키지
imread 이미지 파일을 불러온다.
imshow(제목, 이미지) 창을 띄워 이미지를 보여준다.
waitkey(시간ms) 지정한 시간만큼 키 입력을 기다림
시간이 0이면 키 입력이 있을 때까지 계속 기다림
데이터 크기
sys모듈의 sys.getsizeof 함수를 씁니다.
data type
type(img)
불러온 이미지는 어떻게 관리되는가?
img라는 변수는 어떤 형태일까?
따라 해보기
>>> import cv2
>>> img = cv2.imread('cat.jpg')
>>> img
array([[[22, 33, 71],
[23, 33, 73],
[23, 32, 75],
...,
[16, 27, 71],
[15, 26, 70],
[15, 26, 70]],
[[22, 33, 71],
[23, 33, 73],
[23, 32, 75],
...,
[16, 27, 71],
[16, 27, 71],
[16, 27, 71]],
[[22, 33, 71],
[22, 33, 71],
[21, 31, 71],
...,
[16, 28, 70],
[16, 27, 71],
[17, 28, 72]],
...,
[[44, 56, 96],
[44, 56, 96],
[44, 57, 95],
...,
[40, 55, 94],
[40, 53, 91],
[42, 54, 90]],
[[44, 56, 96],
[43, 55, 95],
[43, 56, 94],
...,
[44, 57, 95],
[45, 57, 93],
[45, 57, 91]],
[[44, 56, 96],
[44, 56, 96],
[44, 57, 95],
...,
[46, 59, 97],
[47, 59, 95],
[49, 59, 93]]], dtype=uint8)
사진 내용이 이게 전부인가? 데이터 크기 확인하기
사이즈 확인하기
>>> import sys
>>> sys.getsizeof(img)
858304
>>> type(img)
<class 'numpy.ndarray'>
>>> img.shape
(447, 640, 3)
import six
ModuleNotFoundError: No module named 'six’ 에러가 나오면
six 모듈을 설치
six 모듈을 설치해도 에러가 나면 six 모듈을 제거하고 재설치
예제3
⦁ import cv2
⦁ from matplotlib import pyplot as plt
⦁
⦁ img = cv2.imread('cat.jpg',0)
⦁ plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
⦁ plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
⦁ plt.show()
영상 다루기
⦁ import cv2
⦁
⦁ cap = cv2.VideoCapture(0)
⦁
⦁ while(True):
⦁ # Capture frame-by-frame
⦁ ret, frame = cap.read()
⦁
⦁ # Our operations on the frame come here
⦁ gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
⦁
⦁ # Display the resulting frame
⦁ cv2.imshow('frame',gray)
⦁ if cv2.waitKey(1) & 0xFF == ord('q'):
⦁ break
⦁
⦁ # When everything done, release the capture
⦁ cap.release()
⦁ cv2.destroyAllWindows()
'Python' 카테고리의 다른 글
Python (0) | 2019.12.03 |
---|---|
Python 제어문 (1) | 2019.12.02 |
Python에서 아두이노 서보 모터 움직이기 (0) | 2018.05.08 |
아두이노에서 Python으로 문자열 보내기 (1) | 2018.04.24 |
파이썬에서 아두이노로 문자 또는 숫자 보내기 (8) | 2018.04.17 |