亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hyperspectralimagcode.h

?? 改進的JPEG-LS算法
?? H
字號:
#include "wfun.h"

//			高光譜圖像編解碼器
/*

	使用方法:		壓縮

		1、加載高光譜數據。
			
			  a、支持三種形式的高光譜數據文件格式(BSQ_H、BIP_H、BIL_H)及各波段獨立文件格式。
			  b、從格式文件的頭部獲取數據各類參數,獨立文件形式必須輸入壓縮所需格式信息。
			  c、配置預測波段。(配置信息來自預先的設定)

		2、為各波段創建編碼器。

			a、編碼器實際上是用來獨立保存各波段編碼的上下文信息(包括波段預測所需上下文)。
			b、創建的同時要根據單波段相關參數及預測配置初始化編碼器。

		3、為壓縮碼流準備緩沖區及存放文件。(緩沖區大小取決于壓縮圖像塊的大小)

		4、執行壓縮循環

			a、建立壓縮塊循環。
				b、創建壓縮塊信息頭。
				c、建立圖像行循環
					d、建立波段循環
						e、取某行某波段數據
						f、用相應的波段編碼器編碼該圖像行數據,碼流匯入總碼流。
					g、下一個波段。
				h、下一個圖像行
				i、導出壓縮塊碼流。
			j、下一個壓縮圖像塊

		5、釋放碼流及各波段編碼器緩沖區。

		
			解壓縮


		1、加載高光譜壓縮碼流。
			
			  a、從碼流中獲取高光譜數據文件格式(BSQ_H、BIP_H、BIL_H)及各波段獨立文件格式。
			  b、從碼流中獲取高光譜數據參數。
			  c、從碼流中獲取配置預測波段。

		2、為高光譜圖像準備緩沖區

		3、為各波段創建編碼器。

			a、解碼器實際上是用來獨立保存各波段編碼的上下文信息(包括波段預測所需上下文)。
			b、創建的同時要根據單波段相關參數及預測配置初始化編碼器(在加載碼流時已獲得)。

		4、執行解壓縮循環

			a、建立解壓縮塊循環。
				b、獲取塊信息頭及塊長度,同時也可獲得下一個塊碼流的位置
				c、建立圖像行循環
					d、建立波段循環
						e、解壓縮某行某波段壓縮碼流
						f、將解壓縮圖像及輔助數據存入到拽定位置。
					g、下一個波段。
				h、下一個圖像行
				i、塊碼流指針指向下一個塊
			j、下一個圖像塊碼流

		5、釋放碼流及各波段編碼器緩沖區。

*/
#define BSQ_H		0
#define BIP_H		1
#define BIL_H		2
#define BFILE		3

#define	MAXBANDNUMBER	512
#define MAXBITPERPIXEL	16

struct	stLineAuxData
{
	int	ladWidth;	 //in BYTE.		輔助數據每行的個數
	int	ladHeight;	//				輔助數據的行數
};

struct stAuxMsg
{	
	int	iImageWidth;		//		圖象寬度----每行的圖象象素數
	int	iImageHeight;		//		圖象高度----圖象的行數
	int	iImageBand;			//		圖象的波段數
	int	iFlyingSpeed;		//		飛機的飛行地速
	int	iFlyingAltitude;	//		航高
	int	iScanSpeed;			//		線掃描速率
	int	iBitPerPixel;		//8bit or 12 bit	數據記錄的位數(每個象素的數據所占的數據位數)
	int	iFOV;				//	瞬時視場
	stLineAuxData stLineAuxDataInfo;	//輔助數據信息 
	int iDataStartPosition;	//		文件中圖象數據的起始位置
	int	iImageFormat;		//format of image.  圖象文件格式
	int iReserved1;			//	保留
	int iReserved2;			//	保留
	int iReserved3;			//	保留
	int iReserved4;			//	保留
	int iReserved5;			//	保留
	int iReserved6;			//	保留
	int iReserved7;			//	保留
	int iReserved8;			//	保留
	int iReserved9;			//	保留
	BYTE byteUnknow[512-21*4];//   保留
};
class CAdvanceJepgLSOneLineCode;
class CHyperspectralImageCode
{
public:
	//基本數據格式
	BYTE HyperspectralDataFormat;//高光譜數據格式
	short int BandNumber;//波段數
	short int Height;//單波段圖像總行數
	short int Width;//單波段圖像每行象素數
	short int OnePixelBytes;//單波段圖像每象素字節數
	short int OnePixelBits;//單波段圖像每象素比特數
	//高光譜數據格式
	CMapFile HMF;//文件映射內存
	stAuxMsg *lpHead;
	CString HFileName;
	LPBYTE lpImageData;
	int	HImageWidth;		//		圖象寬度----每行的圖象象素數
	int	HImageHeight;		//		圖象高度----圖象的行數
	int	HImageBand;			//		圖象的波段數
	int	HBitPerPixel;		//8bit or 12 bit	數據記錄的位數(每個象素的數據所占的數據位數)
	int HDataStartPosition;	//		文件中圖象數據的起始位置
	int	HImageFormat;		//format of image.  圖象文件格式
	int OneLineAuxDataWidth;//in Pixel
	//純圖像
	LPBYTE *lpImageIndex;//各波段圖像地址表
	CMapFile **lpIMF;//單波段文件映射內存
	//最小壓縮模塊
	CAdvanceJepgLSOneLineCode **lpCompressUnit;
	//碼流緩沖區
	LPBYTE lpCodeStreamBuf,lpBlockHead;
	int StreamBufLength;
	//中間控制變量
	short int AllowMaxError;//允許的最大誤差
	short int LinesPerCompressBlock;//每塊圖像行數
	//碼流文件
	CString CompressFile;
	CMapFile CMF;
	//波段預測配置表
	short int *lpPredictTable;
	
	CHyperspectralImageCode();
	~CHyperspectralImageCode();
	//壓縮過程及公共過程
	BOOL LoadHyperspectralImageFile(LPCTSTR pHFile,int OneLineImageAuxDataL);//OMIS相關圖像格式時
	//純圖像格式時,任何高光譜數據都可以先轉化為單波段純圖像格式再行壓縮.
	BOOL LoadHyperspectralImageFile(LPCTSTR *lpIFileList,int BandN,int H,int W,int Bytes,int Bits);
	//直接從原始數據中取得指針
	LPBYTE GetOneLineImageData(int Band,int Line);
	//從原始數據中取得數據裝入到指定緩沖
	void GetOneLineImageData(LPBYTE lpOneLineBuf,int Band,int Line);
	//從原始數據中取得每行輔助數據裝入到指定緩沖
	int GetOneLineAuxData(LPBYTE lpOneLineBuf,int Band,int Line);
	//為輸出碼流準備緩沖
	void PrepareCodeStreamBuf(int OneBlockLines,LPCTSTR CodeFileName,int AllowError=0);
	void ClearCodeStreamBuf();
	//根據波段數創建相應數量的壓縮對象
	void CreatCompressObject();
	//從輸入的字符串中裝入
	void LoadPredictTable(LPCTSTR lpAsc);
	//創建高光譜數據壓縮信息頭,返回頭字節數
	int CreatHyperspectralCompressHead(LPBYTE lpBuf,LPBYTE &lpAuxBuf,int &AuxBufL);
	//創建高光譜數據塊壓縮信息頭,返回頭字節數
	int CreatBlockCompressHead(LPBYTE lpBuf,int Maxerr,int LineBG,int LineN);
	//執行壓縮操作
	void DoCompress(int AllowMaxErr,double *lpErrMsePerPixel=NULL,double *lpBitPerPixel=NULL);
	void AppendDataToFile(void *lpBuf,int Bytes);//將數據附加到文件尾部
	void WriteDataToFile(void *lpBuf,int Bytes);//寫數據到文件
	void EndHyperspectralCode();//中止高光譜編碼器

	//解壓縮過程
	BOOL LoadCompressBitStream(LPCTSTR CompressFile);//加載壓縮碼流
	int LoadBlockCompressHead(LPBYTE lpCodeStream,int &AllowMaxErr,int &LineBG,int &LineN);
	//準備壓縮圖像緩沖
	BOOL PrepareConstructionImageBuf(LPCTSTR lpHyperspectralImageFile);
	BOOL PrepareConstructionImageBuf(LPCTSTR *lpBandImageFile);
	//設置一行重建圖像數據
	void SetOneLineImageData(LPBYTE lpOneLineBuf,int Band,int Line);
	//設置一行輔助數據
	int SetOneLineAuxData(LPBYTE lpOneLineBuf,int Band,int Line);
	//完成解壓縮全過程
	void DoUnCompress();
};
//含預測的多波段圖像壓縮實例
BOOL HyperspectralImageCompress(LPCTSTR lpHyperspectralImageFile,
								LPCTSTR lpPredictBandConfig,
								LPCTSTR CompressFile,
								int AllowMaxError,
								int LinesPerBlock,
								int OneLineImageAuxDataL,
								double *lpErrMsePerPixel,
								double *lpBitPerPixel);
BOOL HyperspectralImageCompress(LPCTSTR *lpHyperspectralImageFile,
								LPCTSTR lpPredictBandConfig,
								LPCTSTR CompressFile,
								int BandNumber,
								int Height,
								int Width,
								int BitsPerPixel,
								int BytesPerPixel,
								int AllowMaxError,
								int LinesPerBlock,
								double *lpErrMsePerPixel,
								double *lpBitPerPixel);
//含預測的多波段圖像解壓縮實例
BOOL HyperspectralImageUnCompress(LPCTSTR lpHyperspectralImageFile,
									LPCTSTR CompressFile);

BOOL HyperspectralImageUnCompress(LPCTSTR *lpHyperspectralImageFile,
									LPCTSTR CompressFile);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色综合| 一区二区三区美女| 国产一区欧美一区| 久久精品男人天堂av| 成人夜色视频网站在线观看| 国产婷婷精品av在线| 成人av在线资源网| 一区二区三区.www| 777午夜精品免费视频| 麻豆精品视频在线观看| 久久久久久**毛片大全| 成人av免费观看| 亚洲一级二级三级在线免费观看| 欧美日韩在线播放三区| 久久99久久久欧美国产| 中文字幕高清一区| 欧美亚洲综合一区| 蜜桃av一区二区三区| 国产欧美一区视频| 在线看国产一区二区| 麻豆国产精品一区二区三区 | 狠狠色狠狠色合久久伊人| 国产日韩欧美精品在线| 在线视频综合导航| 美女久久久精品| 亚洲欧洲在线观看av| 欧洲精品在线观看| 国产专区综合网| 亚洲免费在线视频一区 二区| 欧美日韩高清影院| 国产精品一区二区果冻传媒| 一区二区三区视频在线看| 欧美va在线播放| 色综合久久66| 国产在线精品不卡| 亚洲第一狼人社区| 国产片一区二区| 欧美一级久久久| 色综合久久88色综合天天6| 久久精品国产精品亚洲红杏| 亚洲视频一二三| 精品国产百合女同互慰| 欧洲一区二区av| 成人性生交大片| 麻豆精品在线观看| 亚洲午夜一区二区| 中文幕一区二区三区久久蜜桃| 欧美午夜在线一二页| 成人久久18免费网站麻豆| 免费高清在线一区| 亚洲制服丝袜在线| 中文字幕亚洲一区二区va在线| 精品久久久久一区二区国产| 欧美三级一区二区| 99久精品国产| 国产黄色成人av| 久久99国产精品久久99果冻传媒| 亚洲午夜激情网站| 亚洲精品自拍动漫在线| 中文字幕乱码久久午夜不卡 | zzijzzij亚洲日本少妇熟睡| 日韩中文字幕区一区有砖一区| 亚洲久本草在线中文字幕| 国产欧美日韩麻豆91| 精品少妇一区二区三区在线播放 | 成人精品国产一区二区4080| 韩国成人福利片在线播放| 日本三级亚洲精品| 午夜精品爽啪视频| 亚洲一区精品在线| 一区二区三区在线观看国产| 中文字幕字幕中文在线中不卡视频| 国产午夜一区二区三区| www日韩大片| 久久亚洲综合色一区二区三区 | 欧美色综合影院| 色婷婷久久久久swag精品 | 亚洲女同一区二区| 亚洲精品中文在线影院| 亚洲欧美韩国综合色| 亚洲精品老司机| 亚洲永久精品国产| 亚洲国产精品一区二区久久恐怖片| 亚洲蜜臀av乱码久久精品| 亚洲精品va在线观看| 亚洲国产aⅴ天堂久久| 日日夜夜一区二区| 日韩国产精品久久| 久久91精品国产91久久小草| 国产在线精品一区二区夜色| 国产精品一区在线观看乱码| 懂色av一区二区三区免费看| 成人成人成人在线视频| 欧美亚洲动漫制服丝袜| 欧美一区二区视频免费观看| 日韩你懂的在线播放| 国产亚洲视频系列| 国产精品成人一区二区艾草 | 国产精品一二三四五| 99精品视频一区二区三区| 欧美在线观看18| 日韩一区和二区| 国产午夜精品理论片a级大结局| 国产精品毛片大码女人| 亚洲一区二区黄色| 毛片av一区二区| 成人精品视频一区二区三区尤物| 色综合中文字幕| 91精品国产免费久久综合| 久久日韩精品一区二区五区| 日韩一区欧美一区| 免费一级欧美片在线观看| 国产精品99久久久久久久女警| 91性感美女视频| 3d成人动漫网站| 中文幕一区二区三区久久蜜桃| 亚洲一区二区三区爽爽爽爽爽 | 欧美探花视频资源| 精品国产三级a在线观看| 亚洲视频一区二区在线观看| 日韩国产精品久久| www.成人网.com| 日韩免费在线观看| 亚洲精品乱码久久久久久| 美女诱惑一区二区| 色噜噜狠狠色综合中国 | 国产丝袜美腿一区二区三区| 亚洲一区二区偷拍精品| 国产成人自拍网| 欧美日韩一区二区三区在线| 欧美韩国日本不卡| 轻轻草成人在线| 色av综合在线| 国产精品日日摸夜夜摸av| 麻豆精品视频在线观看视频| 一本色道久久综合精品竹菊| 久久精品在这里| 日产国产欧美视频一区精品| 色哟哟一区二区在线观看| 久久久亚洲精品一区二区三区| 亚洲成av人在线观看| 97精品国产露脸对白| 久久久精品国产99久久精品芒果 | 日本aⅴ精品一区二区三区| 日本乱人伦aⅴ精品| 国产精品久久久久久一区二区三区| 久久国产精品免费| 欧美精品三级在线观看| 伊人开心综合网| 99久久综合精品| 国产欧美精品日韩区二区麻豆天美| 免费看欧美美女黄的网站| 欧美三级电影在线观看| 尤物视频一区二区| 91香蕉视频mp4| 亚洲欧洲精品成人久久奇米网| 国产99久久久久| 国产视频一区在线播放| 国产一区二区三区免费| 日韩精品一区二区三区中文精品| 午夜精品福利视频网站| 欧美日韩一区成人| 亚洲成在线观看| 欧美日韩国产精品自在自线| 一区二区国产视频| 91久久久免费一区二区| 亚洲毛片av在线| 色哟哟欧美精品| 亚洲激情网站免费观看| 在线观看网站黄不卡| 亚洲国产综合人成综合网站| 欧美三区免费完整视频在线观看| 男人的j进女人的j一区| 欧美一区二区三区在线观看| 三级精品在线观看| 日韩欧美第一区| 韩国精品免费视频| 国产精品少妇自拍| 97se亚洲国产综合自在线 | 欧美亚洲日本国产| 天天综合天天做天天综合| 欧美一区二区大片| 精品无人码麻豆乱码1区2区| 欧美精品一区男女天堂| 国产91高潮流白浆在线麻豆| 欧美精彩视频一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 亚洲视频1区2区| 欧美精品电影在线播放| 精品综合免费视频观看| 国产欧美va欧美不卡在线 | 91麻豆国产香蕉久久精品| 亚洲一区二区精品久久av| 91精品国产欧美一区二区18 | 亚洲国产精品麻豆| 精品剧情v国产在线观看在线| 成人小视频在线| 亚洲国产日韩av| 精品88久久久久88久久久| 成人动漫一区二区在线|