博文

[置顶] JPEG2000压缩技术(2008-04-19 14:41:00)

摘要:
JPEG2000压缩技术  http://i.cn.yahoo.com/jielin/blog/p_28/ 一、引言 传统图像编码采用离散余弦变换(DCT)技术,可以较好地去除图像信息的统计冗余,具有良好的实时性和块操作与运动估计的匹配性。目前该技术日臻成熟,形成了JPEG、MPEG等国际标准。但是由于DCT变换过程采用分块技术,在高压缩比条件下容易导致方块效应,严重影响主观质量。而且DCT不适合带宽较宽(拥有较多边缘轮廓信息)的图像信号。于是人们将目光转向小波变换。 传统的卷积小波变换是一种不受带宽约束的图像处理方法,支持多分辨率、多码率传输方案,而且不对图像进行分块,避免了DCT变换的方块效应。但是,采用卷积运算方法,过程复杂,运算量大,实时性不好,不利于硬件的实现。而基于JPEG2000标准推荐的提升小波变换,采用9/7、5 /3滤波器组对分解的图像进行提升运算,不但继承了传统小波变换的优点,而且实时性好、运算简单、易于硬件实现。 JPEG2000具有以下主要特点: (1)    良好的低比特率压缩性能这是JPEG2000最主要的特征。 目前的JPEG标准,对于细节分量多的灰度图像,当码率低于0.25bpp(0.25bit/piexl)时,视觉失真大。为克服这一点,要求JPEG2000在低比特率下有良好的率失真性能,以适应网络、移动通信等有限带宽的应用需要。 (2)连续色调和二值图像压缩 目前的JPEG标准对于自然图像具有较好的压缩性能,但是当用于计算机图形和二值文本的压缩时,性能变差,不适用于复合文本压缩。为了改进这一点,JPEG2000在统一系统中采用相似的方法,能够对自然图像、复合文本、医学图像、计算机图形等具有不同特征、不同类型的图像进行压缩。 (3)有损和无损压缩 对于目前的JPEG标准,在同一个压缩码流中不能同时提供有损和无损两种压缩,而在JPEG2000系统中,通过选择参数,能够对图像进行有损和无损两种压缩,可满足图像质量要求很高的医学图像、图像库等方面的处理需要。 (4) 按照像素精度或者分辨率进行累进式传输 累进式图像传输允许图像按照所需的分辨率或像素精度进行重构,用户根据需要,对图像传输进行控制,在获得所需的图像分辨率或质量要求后,便可终止解码,而不必接收整个图像压缩码......

阅读全文(7394) | 评论:15

BMP转成PCX文件(2008-06-15 20:25:00)

摘要:自己用ACSEE把BMP转成PCX文件就行了注意文件格式:320*200*256
http://bbs.pfan.cn/showpost.asp?id=56348&t=o
#include<io.h>
#include<stdio.h>
#include<dos.h>
#include<string.h>
#include<math.h>
#include<stdio.h>
#include<bios.h>
#include<mem.h>
#include<fcntl.h>
#include<stdlib.h>
#include<conio.h> #define SCREEN_HEIGHT 200
#define SCREEN_WIDTH 320
#define PALETTE_MASK 0x3c6
#define PALETTE_REGISTER_RD 0x3c7
#define PALETTE_REGISTER_WR 0x3c8
#define PALETTE_DATA 0x3c9 #define VGA256 0x13
#define TEXT_MODE 0x03
unsigned char far *video_buffer=(char far *)0xA0000000L;
typedef struct pcx_header_typ
    {
    char manufacturer;
    char version;
    char encoding;
    char bits_per_pixel;
    int x,y;
    int width,height;
    int horz_res;......

阅读全文(4958) | 评论:0

图象格式转换(2008-04-19 14:45:00)

摘要:图像格式的多样性,给我们带来了方便,也同样带来了不方便。raw,pgm,bmp,jpg我需要的格式不断地变,变,变...

Raw的主要原理

Raw实际上是各个相机厂商自己的原始数据格式,也是点的集合。由于每个厂商,其格式不一样,所以兼容性肯
定是大大的差。但是Raw由它独特的好处:
1,无失真
2,保留了CCD捕捉的最原始数据,如果采用好的转化软件,可以得到比相机缺省转化要好的图像!专业摄影推荐。
3,所有EXIF都有,原始信息嘛,不过不一定能很容易读出来(格式不兼容)
4,里面的数据跟CCD的模数转化深度(数字信号的量化精度)一样,一般都在普通图像的8位以上,譬如12bit或
16bit。也就是说精度高。当Raw转化到JPG的时候,一般精度就立刻降为8bit,Raw一般也会用无失真的压缩办法压缩一下。
       raw是最直接也容易处理的图像,处理像素的信息,从文件中得不到图像的其他信息了,比如图像的大小,色彩等。虽然直观,还是使用的不多。
      由raw转化为其他图像的最简单的方法就是利用matlab来处理,读数据到二维矩阵,然后以需要的格式再写道文件里就行了。由其他的文件转为raw 的格式也很简单,把图像以正确的格式读到矩阵中,把该矩阵写到文件里就ok了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////
rh = fopen('test.raw','rb');
image = fread(rh,'uint8');
fclose(rh);
imagesize  = sqrt(size(image(:,1)))
for i=1:imagesize
    for j= 1:imagesize
        in(i,j) = uint8(image((i......

阅读全文(3496) | 评论:0