Python opencv2 (cv2) 래퍼가 이미지 크기를 얻습니까?
cv2
Python OpenCV (numpy) 에서 래퍼 의 이미지 크기를 얻는 방법 . 이상의 것을 할 수있는 올바른 방법이 있나요 numpy.shape()
. 형식 차원에서 가져 오는 방법 : (너비, 높이) 목록?
감사
cv2
numpy
이미지를 조작 하는 데 사용 되므로 이미지 크기를 얻는 적절하고 가장 좋은 방법은 numpy.shape
. BGR 이미지로 작업한다고 가정하면 다음과 같은 예가 있습니다.
>>> import numpy as np
>>> import cv2
>>> img = cv2.imread('foo.jpg')
>>> height, width, channels = img.shape
>>> print height, width, channels
600 800 3
이진 이미지로 작업하는 경우 img
2 차원이 있으므로 코드를 다음과 같이 변경해야합니다.height, width = img.shape
이 크기를 얻는 "더 좋은"방법은 없지만 그다지 고통 스럽지는 않습니다.
물론 코드는 이진 / 모노 이미지와 다중 채널 이미지 모두에 대해 안전해야하지만 이미지의 주요 크기는 항상 numpy 배열의 모양에서 가장 먼저옵니다. 가독성을 선택하거나 이것을 입력하는 것을 귀찮게하고 싶지 않다면 함수로 감싸고 원하는 이름을 지정할 수 있습니다. 예 cv_size
:
import numpy as np
import cv2
# ...
def cv_size(img):
return tuple(img.shape[1::-1])
터미널 / ipython에있는 경우 람다로 표현할 수도 있습니다.
>>> cv_size = lambda img: tuple(img.shape[1::-1])
>>> cv_size(img)
(640, 480)
def
대화식으로 작업하는 동안 함수를 작성하는 것은 재미가 없습니다.
편집하다
원래는 사용하는 [:2]
것이 괜찮다고 생각 했지만 numpy 모양은 (height, width[, depth])
이고 (width, height)
예를 들어 cv2.resize
예상 대로를 필요로 하므로을 사용해야합니다 [1::-1]
. 보다 덜 기억에 남습니다 [:2]
. 어쨌든 리버스 슬라이싱을 기억하는 사람은 누구입니까?
참고 URL : https://stackoverflow.com/questions/19098104/python-opencv2-cv2-wrapper-get-image-size
'developer tip' 카테고리의 다른 글
Xcode 4로 릴리스 빌드 실행 (0) | 2020.09.19 |
---|---|
인텔이 프로세서에서 내부 RISC 코어를 숨기는 이유는 무엇입니까? (0) | 2020.09.19 |
jquery select2의 선택한 값을 설정하는 방법은 무엇입니까? (0) | 2020.09.18 |
IntelliJ IDEA 내에서 SBT를 사용하여 Uber JAR (Fat JAR)을 빌드하는 방법은 무엇입니까? (0) | 2020.09.18 |
Spring MVC에서 현재 URL을 얻는 가장 좋은 방법은 무엇입니까? (0) | 2020.09.18 |