import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('img/iu.jpg',0)
print(img)
cv2.imread('이미지주소',옵션) 을 하고 출력을 해보면
[[127 127 127 ... 127 127 127]
[127 127 127 ... 127 127 127]
[127 127 127 ... 127 127 127]
...
[127 127 127 ... 127 127 127]
[127 127 127 ... 127 127 127]
[127 127 127 ... 127 127 127]]
라는 결과가 나온다. 이렇듯 이미지는 행렬로 return 된다.
보통 3차원 행렬로 return 되어서 0번째 원소는 행, 1번째 원소는 열, 2번째 원소는 행과 열의교차지점이 몇개의 원소로 이루어져있는지(Blue, Green, Red)라는데 옵션을 0으로 줘서 (Grayscale) 출력해서그런지 3차원 행렬같지도 않고 모든 숫자가 똑같다.
그냥 알 수 있는 사실은 행렬로 나온 다는 것.
옵션에 1을 줘서(이미지 파일을 Color로 읽어들임) 출력해보면
[[[127 129 123]
[127 129 123]
[127 129 123]
...
[127 129 123]
[127 129 123]
[127 129 123]]
[[127 129 123]
[127 129 123]
[127 129 123]
...
[127 129 123]
[127 129 123]
[127 129 123]]
[[127 129 123]
[127 129 123]
[127 129 123]
...
[127 129 123]
[127 129 123]
[127 129 123]]
...
[[127 129 123]
[127 129 123]
[127 129 123]
...
[127 129 123]
[127 129 123]
[127 129 123]]
[[127 129 123]
[127 129 123]
[127 129 123]
...
[127 129 123]
[127 129 123]
[127 129 123]]
[[127 129 123]
[127 129 123]
[127 129 123]
...
[127 129 123]
[127 129 123]
[127 129 123]]]
이런식으로 출력된다. 이제야 좀 3차원 행렬들의 모임같기도하고. 중략된 부분이 많아서 잘 모르겠지만.
print(img)를 print(img.flatten()) 으로 출력해보면
옵션이 0이었을 때
[127 127 127 ... 127 127 127] 라고 출력된다.
flatten()이 느낌이 납작하게한다는것같은데 윗줄만 뽑아내나 싶다.
옵션이 1이 었을때는
[127 129 123 ... 127 129 123] 로 출력된다.
느낌이 윗줄만 뽑아내는게 아니라 n차원 행렬을 1차원 행렬로 바꿔주는 것 같다.
'컴퓨터 > opencv-python' 카테고리의 다른 글
파이썬IDLE 주석 단축키 MacOs (0) | 2020.05.15 |
---|
댓글