PCT变换模型 matlab,利用Matlab读取PCT格式的图像文件

本文介绍了如何在Matlab中读取不常见格式的PCT图像文件。由于imread函数不支持PCT格式,需要使用低级文件操作。通过fopen和fread函数读取文件内容,然后解析数据。根据文件说明,了解图像大小和包含的headersection,通过切片和reshape操作获取并显示图像数据。这种方法为处理类似不常见格式的图像文件提供了参考。
摘要由CSDN通过智能技术生成

图像文件有多种多样,我们常见的有jpg、tif、png、bmp等等,这些格式利用Matlab中的imread均可以完成读取的工作,但是还有一些少见的格式,如pct格式的图像文件,在Matlab中直接利用imread函数是不能将其读取到Matlab,并进行显示、处理的……进行看到了一些文章,一些别人的方法,不错,分享了……

首先说明一下什么是pct图像文件格式:PICT格式的文件扩展名是*.PIC或*.PCT,该格工的特点是能够对大块相同颜色的图像进行非常有效的压缩。

在Matlab中的读取方法:

图片本身打开是一片空白的,需要通过matlab程序将里面的信息提取出来,否则没有意义,图片要读取到matlab中,

基本上是用imread,但是imread是不支持pct格式的,因此只能用低级文件的操作。

先打开,fid = fopen('villain_1.pct'),然后将它读取,y =

fread(fid,'*uint8');此处利用*uint8是和你的pct文件有关的……不同的pct文件,有不同的说明,如我的例子:这张图片的一个英文介绍,

为了防止我翻译失误,我给原文:(The first step is to read the image files provided.

As the image files retrieved from the fingerprint archive are

stored in ‘pct’ format which has a header section followed by the

grey-level image of 512 x 512 pixels packed into a raster stream

(from left to right and top to bottom) with each pixel presented by

a single byte (256 grey levels), you need to produce a file

conversion program to access the image data contained in the

files.)

由上面的英文可以知道,pct中的图像大小为512*512,而且,图像含有一个头文件,也就是说这张图片包括header

section

+512*512灰度图片,图像信息应该是在灰度图片里,因此,*uint8表示读进无符号的8位数保存无符号的8位整数,即2^8=256。发现y的length为262440,而512*512为262114,剩余了296,应该是所谓的header

section,因此,A= y(297:262440);就应该是灰度图片了,B =

reshape(A,512,512);imshow(B)。即可完成显示功能……

success……哈哈……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值