pytho 여러 장의 그림 의 무 손상 접합 의 실현 예시

python 라 이브 러 리 가 져 오기

import matplotlib.pyplot as plt
import skimage.io as io
import numpy as np
맞 춤 형 그림 보기
일이 필요 해서 어젯밤 그림 을 사용 하지 않 습 니 다.
나 는 캡 처 두 장 을 예시 로 보 여 주 었 다.
먼저 맞 추기 전의 그림 이 어떤 모습 인지 봅 시다.

jzg = io.imread('jzg.jpg')   # np.ndarray, [h, w, c],   [0, 255], RGB
plt.imshow(jzg)   #    
plt.show()
설명:"jzg"는 numpy 의 배열 을 저장 합 니 다.
jzg

lgz = io.imread('lgz.jpg')   # np.ndarray, [h, w, c],   [0, 255], RGB
plt.imshow(lgz)
plt.show()
lgz
제 가 사용 하 는 것 은 주 피 터 노트북 이기 때문에 그림 이 잘 보이 지 않 습 니 다.
그림 의 크기 와 배열 요소 의 데이터 형식 을 보십시오.

print(jzg.shape)   #       
print(jzg.dtype)   #          
print(lgz.shape)
print(lgz.dtype)
출력:
(720, 1280, 3)
uint8
(720, 1280, 3)
uint8
(720,1280,3)은 배열 의 크기 를 나타 내 고 물리 적 의 미 는[h,w,c]이 며 각각 그림 의 높이 h,그림 의 너비 w,그림 의 채널 수 c 이다.
이 를 통 해 알 수 있 듯 이 이들 의 크기 가 완전히 일치 하고 배열 요소 의 데이터 유형 은'uint 8'이다.
배열 에 있 는 요소 의 값 영역 보기:

print([jzg.min(), jzg.max()])
출력:
[0, 255]
가로 연결
맞 춤 형 배열 만 들 기:

pj1 = np.zeros((720,1280 + 1280,3))   #    
pj1[:,:1280,:] = jzg.copy()   #  jzg  
pj1[:,1280:,:] = lgz.copy()   #  lgz  
print(pj1.dtype)   #        
출력:
float64
맞 춤 형 데이터 형식 이 다 르 기 때문에 고 쳐 야 합 니 다.그렇지 않 으 면 잘못된 것 으로 표 시 됩 니 다.

pj1=np.array(pj1,dtype=np.uint8)   # pj1           "uint8"
plt.imshow(pj1)   #      
plt.show()
拼接后的图片
맞 춤 형 그림 저장
연 결 된 그림 을 현재 디 렉 터 리 에 저장 하거나 다른 경로 로 변경 할 수 있 습 니 다.

io.imsave('pj1.jpg', pj1)   #        
총결산
가로로 연 결 된 코드 는 다음 과 같다.

import matplotlib.pyplot as plt
import skimage.io as io
import numpy as np

jzg = io.imread('jzg.jpg')   # np.ndarray, [h, w, c],   (0, 255), RGB
plt.imshow(jzg)   #    
plt.show()

lgz = io.imread('lgz.jpg')   # np.ndarray, [h, w, c],   (0, 255), RGB
plt.imshow(lgz)
plt.show()

print(jzg.shape)   #       
print(jzg.dtype)   #          
print(lgz.shape)
print(lgz.dtype)

pj1 = np.zeros((720,1280 + 1280,3))   #    
pj1[:,:1280,:] = jzg.copy()   #  jzg  
pj1[:,1280:,:] = lgz.copy()   #  lgz  
print(pj1.dtype)   #        

pj1=np.array(pj1,dtype=np.uint8)   # pj1           "uint8"

plt.imshow(pj1)   #      
plt.show()

io.imsave('pj1.jpg', pj1)   #        
세로 접합
물론 가로로 연결 할 수도 있 고 세로 로 연결 할 수도 있 습 니 다.연결 에 사용 되 는 배열 을 다음 과 같이 바 꾸 기만 하면 됩 니 다.

pj2 = np.zeros((720 + 720,1280,3))   #    
맞 춤 법 을 다음 으로 변경 합 니 다:

pj1[:720,:,:] = jzg.copy()   #  jzg  
pj1[720:,:,:] = lgz.copy()   #  lgz  
그리고 다른 절 차 는 다 똑 같 아 요.
그림 간격
어떤 때 는 스 티 치 를 요구 할 때 이 럴 때 스 티 치 에 사용 되 는 배열 을 가로 또는 세로 로 커지 고 공백 구역 은'0'또는'255'로 채 워 야 한다.(나 는'0'과'255'중 어느 것 이 흰색 을 대표 하 는 지,어느 것 이 검은색 을 대표 하 는 지 모 르 겠 으 니 필요 한 것 은 스스로 실험 하거나 조회 해 보 자.)
여기 서 pytho 여러 장의 그림 에 대한 무 손실 연결 에 관 한 예시 적 인 글 을 소개 합 니 다.더 많은 관련 pytho 그림 무 손실 연결 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기