以压缩角度差链码为基础提出新的压缩算法

本文为算法的进度报告

链码是图像处理中一种很常用的表示线条的编码技术。根据Freeman链码原理指导,向链码表示方法做出新的压缩方法:以jpg图像为例,用压缩角度差链码读出图中每一条线条,将每种颜色线条分链储存,判断是否封闭,最后得到一组以多个线条链表组成的复式链表。我的任务是完成这个算法。

第一次接触图像处理技术,面对的一门崭新的技术,迷茫和困惑是常常有的,在李灵华老师的指导下,通过学习《图像处理技术入门》,为学习图像技术打开了知识的大门。从最先接触Windows位图bmp图像,对bmp进行显示、几何变化、做图像处理,到目前正在学习对真彩色图对图像进行处理。
根据算法要求,写出简易伪代码方便代码编写,以下为伪代码。
算法伪代码:


struct jpgDATA{
DWORD RBG;
int Visited=0;
};


struct jpgHEADDATA{
WORD startcoordinate;
DWORD RBG;
jpgLINEDATA *line;
int closed=0;
jpgHEADDATA *next;
};
struct jpgLINEDATA{
jpgLINEDATA *line;
};
1.读出jpg图像;
2.转存图像信息,结构为(x+2)*(y+2)的数组(其中X为水平,Y为竖直,单位为像素点;+2是为了包围一圈空像素,作为边界),并所有Visited置为0;
3.定义头结点head=new jpgHEADDATA,p指向头结点;
循环:(从左上第1行第1列到第x行第y列){
寻找Visited为0点的i点,读取RBG值,Visited标记为1,入栈,
*q=new jpgHEADDATA;
p->next=q;
p=p->next;
p->RBG=i->RBG;
p->startcoordinate=i;

循环:(依次匹配q所在的八个方向的RBG值(RGB为-1代表边界)){
找到相同RBG:Visited为0:s=new jpgLINEDATA;q->line=s,q=q->next,入栈,Visited为1;
Visited为1:p->closed=1;s=new jpgLINEDATA;q->line=s,q=q->next,入栈,Visited为1;循环4.1
不相同:出栈
当出栈为P时结束循环
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值