일부 Delphi 코드를 Python PIL로 변환하려고합니다. 문제는 두 갈래로 나뉜다. 첫째, 저는 델피 프로그래머가 아닙니다. 둘째, 오늘 전까지 PIL을 사용하지 않았으므로 두 영역 모두에서 문제가 발생할 수 있습니다.Delphi TBitmap 코드를 Python PIL
case PixelFormat of
pf32bit: PixSize:=4;
pf24bit: PixSize:=3;
pf16bit: PixSize:=2;
end;
BitCounter:=0;
for i:=0 to Height-1 do begin
Row:=ScanLine[i];
PB:[email protected][PixSize-1];
for j:=0 to Width-1 do begin
Ch[BitCounter] := (PB^ and 1);
....
inc(BitCounter);
inc(PB, PixSize);
end;
그래서 PixelFormat 속성은 각 픽셀의 크기를 바이트 단위로 나타냅니다. ScanLine 메서드는 선을 나타내는 픽셀 배열을 가져옵니다. 내가 얻지 못하는 것은 각 픽셀을 RGB 값으로 시각화하는 경향이 있다는 것입니다. 저는 색상 값의 최하위 비트를 추출하는 데 익숙합니다. 그러나 기존 코드가 무엇을 추출하는지 확신 할 수 없다고 생각합니다. 동일한 이미지에서 각 픽셀의 RGB 값을 추출 할 파이썬 PIL 코드가 있지만 RGB 값의 튜플이 이전 코드에서 얻은 PB 변수와 어떻게 비교되는지 모르겠다. 몇 가지 실험을 토대로 필자는 그것이 전혀 비교되지 않는다고 추측한다.
미리 감사드립니다.
"가장 중요한 바이트의 최하위 비트가 어느 채널에서 왔는지"라는 질문에 대한 답변입니다. 그것은 잘 정의되어 있지만, 내 인생이 그 정보가 왜 유용 할 수 있는지 이해할 수는 없습니다. 적색 채널 값이 홀수인지 여부를 언제 알고 싶습니까? –
@David,이 게시물의 코드가 너무 이상해서 Google에 그 코드가 있어야했습니다. 이 게시물의 코드가 동일하기 때문에 ['steganography'] (http://itte.no/delphi/Steganography.htm)가 될 것입니다. user1641230,이 주석에 링크 된 페이지에서 찾을 수있는 답변. 흥미 진진한 기술 어쨌든 ... – TLama
@ TLama, 당신은 정확합니다, 그것은 스테가 노 탐지를위한 것이 었습니다. – user1641230