Merge pull request #6446 from kevin-coder:bugfix_6445

pull/6539/merge
Maksim Shabunin 9 years ago
commit c3d1f94ee6
  1. 9
      modules/imgcodecs/src/grfmt_pxm.cpp

@ -190,7 +190,6 @@ bool PxMDecoder::readData( Mat& img )
{ {
int color = img.channels() > 1; int color = img.channels() > 1;
uchar* data = img.ptr(); uchar* data = img.ptr();
int step = (int)img.step;
PaletteEntry palette[256]; PaletteEntry palette[256];
bool result = false; bool result = false;
int bit_depth = CV_ELEM_SIZE1(m_type)*8; int bit_depth = CV_ELEM_SIZE1(m_type)*8;
@ -229,7 +228,7 @@ bool PxMDecoder::readData( Mat& img )
case 1: case 1:
if( !m_binary ) if( !m_binary )
{ {
for( y = 0; y < m_height; y++, data += step ) for( y = 0; y < m_height; y++, data += img.step )
{ {
for( x = 0; x < m_width; x++ ) for( x = 0; x < m_width; x++ )
src[x] = ReadNumber( m_strm, 1 ) != 0; src[x] = ReadNumber( m_strm, 1 ) != 0;
@ -242,7 +241,7 @@ bool PxMDecoder::readData( Mat& img )
} }
else else
{ {
for( y = 0; y < m_height; y++, data += step ) for( y = 0; y < m_height; y++, data += img.step )
{ {
m_strm.getBytes( src, src_pitch ); m_strm.getBytes( src, src_pitch );
@ -258,7 +257,7 @@ bool PxMDecoder::readData( Mat& img )
////////////////////////// 8 BPP ///////////////////////// ////////////////////////// 8 BPP /////////////////////////
case 8: case 8:
case 24: case 24:
for( y = 0; y < m_height; y++, data += step ) for( y = 0; y < m_height; y++, data += img.step )
{ {
if( !m_binary ) if( !m_binary )
{ {
@ -310,7 +309,7 @@ bool PxMDecoder::readData( Mat& img )
} }
} }
else else
memcpy( data, src, m_width*(bit_depth/8) ); memcpy( data, src, m_width);
} }
else else
{ {

Loading…
Cancel
Save