Python cv2 이미지를 y방향으로 일정 간격으로 나누어보려는데 IndexError: list assignment index out of range

조회수 367회

안녕하세요. cv2 연습 중입니다만 for문 부터 뭔가 자꾸 안 되어서 문의 드립니다. 제가 하려는 건 임의의 크기의 이미지를 read하여 x방향 크기는 그대로 하고 y방향으로 일정 간격으로 general하게 나눠보려고 하고 있습니다.

//Python 3.7.6 // ipynb 사용중
import cv2
img_file = 'img.png'
img_read = cv2.imread(img_file, cv2.IMREAD_GRAYSCALE)

x = 700
y = 700
z = y//254

img_rsz = cv2.resize(img_read, (x, y), interpolation=cv2.INTER_LINEAR)

img_cp1 = img_rsz.copy()
img_cut = []


for i in range(z) : 
    img_cut[i] = img_rsz[i*254:i*254+254, 0:x]


for i in range(z) :
    cv2.imshow('cut', img_cut[i])    
    cv2.waitKey()
    cv2.destroyAllWindows()


IndexError                                Traceback (most recent call last)
<ipython-input-23-923adf7ee222> in <module>
     10 
     11 for i in range(z) :
---> 12     img_cut[i] = img_rsz[i*254:i*254+254, 0:x]
     13 


IndexError: list assignment index out of range
  • 뭐가 안된다는 건지 설명도 해주셔야죠 초보자 2022.5.5 11:01
  • 에러부분도 올린줄 알았는데 안 올라갔네요 :( 물먹는하마 2022.5.5 11:03
  • list assignment index out of range 면 리스트 범위 밖 범위를 지정했단 건데요?? 초보자 2022.5.5 11:11
  • 아 그러네요.. 뭐가 잘못 됐는지 알겠습니다. 바보같은 실수를 했네요. 감사합니다. ㅠㅠ 물먹는하마 2022.5.5 12:35

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)