特定图像的Python解码

时间:2017-06-21 09:35:42

标签: python image-processing pillow

我正在尝试解码并显示根据PDS标准编码的行星图像的特定图像格式。我正在使用Pillow,我需要实现一个位解码器,但经过各种尝试,我没有很好的结果。谁能帮我实现这个特殊的Pillow解码器?我会在需要时提供更多信息

当然,我将提供我想要使用的PDS文件的编码信息。这些是文件标题中的重要行:

POINTERS TO DATA OBJECTS                                        
BROWSE_IMAGE=                 = 20480 <BYTES>                                
IMAGE                         = 53248 <BYTES>   

OBJECT DESCRIPTION                                               

OBJECT                         = IMAGE                                        

FIRST_LINE                  = 1                                            
LINE_PREFIX_BYTES           = 0                                            
LINE_SUFFIX_BYTES           = 0                                            
LINES                       = 1024                                         
LINE_SAMPLES                = 1024                                         
SAMPLE_TYPE                 = MSB_UNSIGNED_INTEGER                         
SAMPLE_BITS                 = 16                                           
SAMPLE_BIT_MASK             = "2#0000001111111111#"                        
END_OBJECT                     = IMAGE    

这是否足够清楚?这是定义图像编码方法的标题的一部分。整个文件包含标题和图像本身。我显然需要一个枕头解码器,而且恰好有点解码器,但我的不起作用。

这将是我的位解码器代码:

from PIL import  Image, ImageFile

class DarkImageFile( ImageFile.ImageFile ) :

 format = 'IMG'
 format_description = 'IMG dark frame'


 def _open( self ) :     

   self.size = (1024,1024)      
   self.mode = 'F'                  # data representation mode
   self.tile = [ ("bit", ( 0,0 ) + self.size, 53248, (10,6, 0, 3) ) ] 

Image.register_open( "IMG", DarkImageFile )   
Image.register_extension( "IMG", ".img" )                                                  

0 个答案:

没有答案