-
大小: 4.51MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-09-28
- 语言: C/C++
- 标签: Contourlet 源码 图像增强 图像处理
资源简介
Contourlet变换代码, VC++实现Contourlet图像处理
代码片段和文件信息
/* libezbc - EZBC subband coding/decoding
Copyright (C) 2004 Vivien Chappelier
This library is inspired from code originaly developped by Yongjun Wu Jan in MC-EZBC. This rewritten version may still contain code similar to his original implementation.
Reference paper: “embedded Image Coding Using Zeroblocks Of Subband/Wavelet Coefficient And Context Modeling“ Shih-Ta Hsiang and John W. Woods Data Compression Conference (DCC ‘01) March 27 - 29 2001 Snowbird Utah
*/
/* Binary Arithmetic Coder/Decoder
Copyright (C) 2004 Vivien Chappelier
Originally inspired from the MPEG-4 VM binary arithmetic coder.
*/
#include “stdafx.h“
#include
#include
#include
#include “arithmetic_codec.h“
static void renormalize_encoder(arithmetic_codec_t *arithmetic_codec);
static void renormalize_decoder(arithmetic_codec_t *arithmetic_codec);
arithmetic_codec_t *arithmetic_codec_new(unsigned char *buffer
int length);
void arithmetic_decoder_delete(arithmetic_codec_t *arithmetic_codec);
void arithmetic_codec_start(arithmetic_codec_t *arithmetic_codec);
void arithmetic_decoder_stop(arithmetic_codec_t *arithmetic_codec);
int arithmetic_encoder_stop(arithmetic_codec_t *arithmetic_codec);
int arithmetic_codec_decode(arithmetic_codec_t *arithmetic_codec
float prob_zero);
void arithmetic_codec_encode(arithmetic_codec_t *arithmetic_codec
float prob_zero
arithmetic_codec_bit_t bit);
int ffs(int n)
{
int i;
for(i = 0; n; n >>= 1 i++);
return(i - 1);
}
static void follow(arithmetic_codec_t *arithmetic_codec unsigned char bit)
{
if (!arithmetic_codec->first_bit)
bitbuffer_write_bit(arithmetic_codec->bitbuffer bit);
else
arithmetic_codec->first_bit = 0;
while(arithmetic_codec->bits_to_follow > 0) {
bitbuffer_write_bit(arithmetic_codec->bitbuffer !bit);
arithmetic_codec->bits_to_follow--;
}
}
static void renormalize_encoder(arithmetic_codec_t *arithmetic_codec)
{
while (arithmetic_codec->range < ARITHMETIC_CODEC_QUARTER) {
if (arithmetic_codec->lower >= ARITHMETIC_CODEC_HALF) {
follow(arithmetic_codec 1);
arithmetic_codec->lower -= ARITHMETIC_CODEC_HALF;
} else {
if (arithmetic_codec->lower + arithmetic_codec->range <=
ARITHMETIC_CODEC_HALF)
follow(arithmetic_codec 0);
else {
arithmetic_codec->bits_to_follow++;
arithmetic_codec->lower -= ARITHMETIC_CODEC_QUARTER;
}
}
arithmetic_codec->lower += arithmetic_codec->lower;
arithmetic_codec->range += arithmetic_codec->range;
}
}
static void renormalize_decoder(arithmetic_codec_t *arithmetic_codec)
{
while (arithmetic_codec->range < ARITHMETIC_CODEC_QUARTER) {
if (arithmetic_codec->lower >= ARITHMETIC_CODEC_HALF) {
arithmetic_codec->value -= ARITHMETIC_CODEC_HALF;
arithmetic_codec->lower -= ARITHMETIC_CODEC_HALF;
arithmetic_codec->bits_to_follow = 0;
} else
if (arithmetic_codec->lower + arithmetic_codec->
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 262159 2012-02-24 20:07 myContourLet\input&output\1.pgm
文件 263204 2014-04-10 20:54 myContourLet\input&output\dfb0.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\dwt.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\rband0_0.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\rband0_1.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\rband0_2.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\rband0_3.pgm
文件 262179 2014-04-10 20:54 myContourLet\input&output\rec.pgm
文件 84561 2014-04-10 20:54 myContourLet\input&output\rec0.jpg
文件 263204 2014-04-10 20:54 myContourLet\input&output\rec_dfb0.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\rec_dwt.pgm
文件 1057 2014-04-10 20:54 myContourLet\input&output\rec_low.pgm
文件 262179 2014-04-10 20:54 myContourLet\input&output\rhigh0.pgm
文件 65571 2014-04-10 20:54 myContourLet\input&output\rlow0.pgm
文件 6879 2015-04-22 10:53 myContourLet\myContourLet\arithmetic_codec.cpp
文件 2272 2005-08-09 19:35 myContourLet\myContourLet\arithmetic_codec.h
文件 1850 2015-04-22 10:53 myContourLet\myContourLet\bitbuffer.cpp
文件 1594 2005-08-09 19:35 myContourLet\myContourLet\bitbuffer.h
文件 6713 2015-04-22 14:52 myContourLet\myContourLet\contourlet.cpp
文件 1771 2012-02-24 19:09 myContourLet\myContourLet\contourlet.h
文件 24938 2015-04-22 10:53 myContourLet\myContourLet\dfb.cpp
文件 2534 2012-02-24 19:15 myContourLet\myContourLet\dfb.h
文件 14091 2015-04-22 10:53 myContourLet\myContourLet\ezbc.cpp
文件 1115 2012-02-24 19:15 myContourLet\myContourLet\ezbc.h
文件 18210 2015-04-22 10:53 myContourLet\myContourLet\ezbc_codec.cpp
文件 5361 2010-03-11 08:54 myContourLet\myContourLet\ezbc_codec.h
文件 21281 2015-04-22 10:52 myContourLet\myContourLet\ezbc_decoder.cpp
文件 877 2005-08-09 19:34 myContourLet\myContourLet\ezbc_decoder.h
文件 23614 2015-04-22 10:51 myContourLet\myContourLet\ezbc_encoder.cpp
文件 715 2005-08-09 19:35 myContourLet\myContourLet\ezbc_encoder.h
............此处省略101个文件信息
相关资源
- 酒店管理系统源码.rar
- 可以将DLL文件转换成源码
- 基于混沌算法的图像加密系统C++源码
- 人工智能小游戏-基于alpha-beta剪枝算法
- 使用MFC实现的扫雷
- stm32图像采集+QT上位机源码
- C++木马病毒的查杀设计与实现含源码
- MFC俄罗斯方块源码
- Visual+C++开发基于SNMP的网络管理软件(
- 八数码问题数字华容道,九宫格深度
- C++ MFC 带进度条的状态栏源码
- C++网络编程文件之第十一章 防火墙的
- 热血江湖服务端C++源代码,完整游戏
- Fast ANN神经网络算法源码
- C++网络五子棋(源码)
- 给力仿真电梯MFC源码含报告
- 郝斌C语言详细笔记 附源码91146
- 基于SIFT多幅图像拼接系统 毕设源码
- 泡泡龙源码 C++
- VS2003 MFC串口源码,通过修改可以变成
- OpenGL海量demo及源码&附带chm手册集合包
- mfc界面及示波器程序源码
- 中国象棋引擎ZWM 版本0.2.(VC++源码)
- live555&RTSP;源码解析笔记
- 控制台C++飞机大战源码
- 北航2006-2017研究生复试上机源码_vc6
- minix(1.0-2.0)源码
- VC++实现电子词典
- Visual C++精通-光盘源代码.rar
- MFC批量重命名文件源码
评论
共有 条评论