-
大小: 4.51MB文件类型: .rar金币: 2下载: 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个文件信息
相关资源
- 基于MFC的TCP调试助手源码95706
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- 安科瑞智能电能表MODBUS通讯程序 VC6
- 九齐单片机源码
- Qt画图工具源码(qgraphics draw)
- qt 串口助手源码
- modbus 主机源码
- 《LINUX C编程从初学到精通》光盘源码
- OLED驱动源码
- tm1650+stm32f103源码(board_tm1650.c)
- cheat engine 7.2源码
- CrySearch内存搜索器源码
- FTP客户端源码(c++)
- MFC视频播放器源码(支持avi/wma/mp3等格
- CreatBitmap图片合成源码
- vs2008 can总线通讯源码
- 宠物管理系统课程设计(源码+数据库
- Windows扩展命令程序(源码)
- c语言实现火车订票系统(控制台)源
- 鼠标连点器(附源码)
- c++ 简易贪吃蛇源码
- 杀毒软件源码
- 经典外汇智能交易程序Amazing3.1源码(
- 微型文件系统源码(FatFs)
- 海康私有流分析接口源码(附使用说
- VC6 USB开发源码
- SVM算法实现(源码+文档)
- 俄罗斯方块游戏源码(Tetris)
- 步进电机控制(源码+文档)
评论
共有 条评论