아무도 헤더를 압축하고 일부 데이터 청크에 추가하는 방법에 대한 조언이 없습니까?파이썬에서 압축 된 헤더와 numpy 배열을 결합하십시오.
예를 들어, 16 바이트의 비트가 채워진 헤더를 약 2MB의 원시 RGB 이미지에 추가하려면이 작업을 수행하는 가장 효율적인 방법은 무엇입니까? STR과 NumPy와 배열이 concat'able이 arent 때문에
지금까지, 나는 다음과 같은
headerVals = (str(headerVersion), str(formatEnum), frameCount, ntpTimestamp, width, height)
packedHdr = self.imgStruct.pack(*headerVals)
return packedHdr + data
그러나이 다음 오류와 함께 실패 시도했다 :
return packedHdr + data
TypeError: cannot concatenate 'str' and 'numpy.ndarray' objects
유일한 방법이 문제를 해결하는 나는 파이썬 초보자로서 다음과 같은 명백한 이유 때문에 매우 느리다는 것을 생각할 수있다 :
# Generate the header
headerVals = (str(headerVersion), str(formatEnum), frameCount, ntpTimestamp, width, height)
packDir = 'cchqhh{0}h'.format(width*height*3)
return pack(packDir, str(headerVersion), str(formatEnum), frameCount, ntpTimestamp, width, height, *data)
아이디어가 있으십니까? 파이썬 이니셔티브로서 나는 이것으로 약간 혼란 스럽다!
아래 세스의 제안에 따라, 나는이 다음에 내 코드를 업데이트하고 잘하고있다 : UPDATE
.
왜 numpy 배열 안에'headerVersion'과'formatEnum'을 넣지 않고 연결하려고합니까? – seth
나는이 접근법을 끝내고 작동하는 것처럼 보인다. 질문 – bgoldber
에 변경 사항을 추가하십시오. 답변으로 내 의견을 기재하겠습니다. – seth