Python OpenCV 이미지 이동 의 실현 예시
다시 그것 을 작은 시스템 으로 만들어 이 내용 에 대해 초보적인 이 해 를 얻 도록 한다.
오늘 한 시간 동안 핵심 적 으로 배 워 야 할 것 은 이미지 의 이동 이다.컴퓨터 에서 한 장의 그림 을 마음대로 열 어 이동 을 실현 하 는 것 은 매우 간단 하지만 코드 에서 새로운 개념 이 나 타 났 다.
OpenCV 이미지 이동 관련 자 료 를 검색 할 때 만 나 는 첫 번 째 신 개념 은
이다.이런 수학 이름 을 볼 때마다 가슴 이 서늘 해 지고 수학 소 백 으로서 또 벌 벌 떨 어야 한다.
바 이 두 씨,백과사전 에서 어떻게 소 개 했 는 지 보 세 요.
위의 그림 에서 관련 소 개 를 본 후에 이 개념 에 대해 깊이 이해 하지 못 했다.먼저 사용 하고 이론 적 인 학습 관점 을 보완 하 는 데 착안 하여 우 리 는 먼저 이미지 의 평 이 를 실현 했다.
학습 과정 에서 개념 적 인 것 을 만나면 먼저 응용 한 다음 에 후속 적 인 깊이 있 는 학습 과정 에서 점차적으로 보완 할 수 있다.
cv2.warpAffine()모방 변환
이 방법 을 바탕 으로 관련 자 료 를 찾 아 모방 변환 의 기본 개념 을 얻 고 2 차원 좌표 에서 2 차원 좌표 간 의 선형 변환 을 얻 으 며 2 차원 도형 의'평직 성'과'평행 성'을 유지 해 야 한다.
복사 변환 에는 이동,크기 조정,뒤 집기,회전,잘라 내기 가 포함 되 어 있 습 니 다.
이 방법의 문법 구 조 는 다음 과 같다.
dst = cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]])
매개 변수 설명:플러그 인 방식(flags)은 다음 과 같은 종류 가 있 습 니 다.
wrapAffine
앞의 세 가지 매개 변수,즉warpAffine(img,M,(rows,cols))
를 사용 하여 기본 적 인 모방 변환 효 과 를 실현 하지만 이런 상황 에서
현상 이 나타난다.마지막 매개 변 수 는
borderValue
이 고 경계 에 채 워 진 색 입 니 다.기본 값 은 검은색 이 며 스스로 다른 색 으로 설정 할 수 있 습 니 다.구체 코드
그림 이동 은 그림 위치의 이동 입 니 다.이동 하기 전에 행렬 M 을 먼저 전환 해 야 한다.그 중에서
tx
,ty
는(x,y)방향 에서 의 위 치 를 나타 낸다.다음 과 같다.테스트 코드 는 다음 과 같 습 니 다.중요 한 부분 은 주석 에서 설명 합 니 다.
import numpy as np
import cv2 as cv
img = cv.imread('10.jpg', 1)
rows, cols, channels = img.shape
# [1,0,100] 100, [0,1,50] 50
M = np.float32([[1, 0, 100], [0, 1, 50]])
res = cv.warpAffine(img, M, (cols, rows))
cv.imshow("img", res)
cv.waitKey()
특별 설명:cv.warpAffine
방법의 세 번 째 매개 변 수 는 출력 이미지 의 크기 이 고 그 형식 은(width,height)이 어야 한다.width=열 수(cols),height=줄 수(rows)를 기억 하 십시오.다음은 코드 실행 결과 입 니 다.
borderMode
매개 변수 값 에 대한 설명:이 부분 은 가장자리 처리 와 관련 되 고 매 뉴 얼 을 뒤 져 보 는 과정 에서 찾 은 설명 방향
BorderTypes
이다.뒤 져 보 니 여전히 초 강 이 있 습 니 다.관련 내용 을 먼저 기록 하고 나중에 돌 이 켜 볼 수 있 습 니 다.참조 주소모든 값 은 다음 과 같이 나열 되 어 있 습 니 다.
borderValue
:그림 경계 처리 방식 이BORDER_CONSTANT
일 때의 충전 값 입 니 다.테스트 코드 는 다음 과 같 습 니 다:
import numpy as np
import cv2 as cv
img = cv.imread('10.jpg', 1)
rows, cols, channels = img.shape
M = np.float32([[1, 0, 100], [0, 1, 50]])
res = cv.warpAffine(img, M, (cols, rows),
borderMode=cv.BORDER_CONSTANT, borderValue=(200, 66, 66))
cv.imshow("img", res)
cv.waitKey()
OpenCV 막바지파 이 썬 OpenCV 이미지 이동 에 관 한 예제 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 OpenCV 이미지 이동 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Visual Studio 2017에서 OpenCV 템플릿 프로젝트 만들기・Windows 7 Professional 64bit ・Visual Studio 2017 Version 15.9.14 · OpenCV 3.4.1 OpenCV의 도입 방법 등은 아래를 참조하십시오. Visual Stu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.