2013-08-19 1 views

답변

1

각 픽셀의 값을 인쇄하려면 QImage의 bits() 메서드를 사용하여 부호없는 char의 모든 픽셀 값에 포인터를 가져 와서 for 루프에 인쇄하면됩니다. 예를 들어 32 비트 그림이있는 경우 bits()에 의해 반환 된 표에서 각 픽셀 (빨강, 녹색, 파랑, 알파)에 대해 4 개의 값을 가지며 그 중 몇 개가 너비 (*) 높이를 사용하는지 알 수 있습니다() * 4 (32 비트 깊이 인 경우). 또는 인쇄 대신 모든 단일 픽셀을 비교하고 서로 다른 픽셀 만 비교할 수 있습니다.

+0

비교에 사용 된 픽셀 값을 제외하고 아무것도 아닌가요? 나는 [출처] (http://qt.gitorious.org/qt/qt/blobs/4.8/src/gui/image/qimage.cpp)를 확인했지만 확실하지는 않습니다. – UniversE

1

qDebug() << QImage()을 사용하면 QImage(QSize(0, 0))과 같은 것을 인쇄 할 것입니다.

const uchar * QImage::constBits() 함수를 사용하여 첫 번째 픽셀 데이터에 대한 포인터를 가져온 다음 픽셀 데이터를 반복하여 값을 인쇄 할 수 있습니다.

+0

비교에 사용 된 픽셀 값을 제외하고는 아무것도 아닌가요? 나는 [출처] (http://qt.gitorious.org/qt/qt/blobs/4.8/src/gui/image/qimage.cpp)를 확인했지만 확실하지는 않습니다. – UniversE

+1

필자는 사진의 형식과 같은 모든 정보를 먼저 비교하고, 일치하는 경우에만 픽셀을 검사한다고 생각합니다. 빨리 작동하면 픽셀을 확인하지 못했음을 의미합니다. :) – jantar

+0

@jantar 감사합니다. – UniversE

1

두 이미지를 한 바이트 씩 비교하고 서로 다른 위치의 오프셋을 반환하는 함수를 작성하는 것이 좋습니다.

손으로 이미지 데이터를 비교하는 것은 종종 지루하고 실수로 이어질 수 있습니다.

+0

제안 해 주셔서 감사합니다. :) – UniversE

관련 문제