⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chenimagematlab.h

📁 LDPC码的实现,包括编码器和解码器,使用了DCT.
💻 H
字号:
// ChenImageMatlab.h

#ifndef _CHENIMAGEMATLAB_H_
#define _CHENIMAGEMATLAB_H_
#include <engine.h>

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_openEngine
 * -----------------------------------------------------------------------------
 * Open a Matlab engine for computations.
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_openEngine();

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_closeEngine
 * -----------------------------------------------------------------------------
 * Close a previously opened Matlab engine.
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_closeEngine();

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_getEngine
 * -----------------------------------------------------------------------------
 * Returns the Matlab engine.
 * -----------------------------------------------------------------------------
 */
Engine* ChenImageMatlab_getEngine();

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_putImageInWorkspace
 * -----------------------------------------------------------------------------
 * Puts an image as a variable in the Matlab workspace.
 *
 * Inputs:
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * short* pImage
 * const char* pVarName
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_putImageInWorkspace(const int nWidth, const int nHeight, const int nChannels, const short* pImage, const char* pVarName);
int ChenImageMatlab_putImageInWorkspace(const int nWidth, const int nHeight, const int nChannels, const float* pImage, const char* pVarName);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_getImageFromWorkspace
 * -----------------------------------------------------------------------------
 * Extracts a variable from the Matlab workspace and creates an image from it.
 *
 * Inputs:
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * const char* pVarName
 *
 * Outputs:
 * short* pImage or float* pImage
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_getImageFromWorkspace(const int nWidth, const int nHeight, const int nChannels, const char* pVarName, short* pImage);
int ChenImageMatlab_getImageFromWorkspace(const int nWidth, const int nHeight, const int nChannels, const char* pVarName, float* pImage);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_loadImageFromFile
 * -----------------------------------------------------------------------------
 * Loads an image file into memory. Uses the Matlab file reader.
 *
 * Inputs:
 * const char* pImgFileName
 *
 * Outputs:
 * int& nWidth
 * int& nHeight
 * int& nChannels
 * short*& pImg
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_loadImageFromFile(const char* pImgFileName, int& nWidth, int& nHeight, int& nChannels, short*& pImg);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_saveImageToFile
 * -----------------------------------------------------------------------------
 * Saves an image in a format specified by the extension in the file name. 
 * Uses the Matlab file saver.
 *
 * Inputs:
 * const char* pImgFileName
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * const short* pImg
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_saveImageToFile(const char* pImgFileName, const int nWidth, const int nHeight, const int nChannels, const short* pImg);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_saveImageJPEG
 * -----------------------------------------------------------------------------
 * Saves an image in JPEG format. Uses the Matlab file saver.
 *
 * Inputs:
 * const char* pImgFileName
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * const short* pImg
 * const int nQuality [0, 100]
 * const bool bLossless
 * const int nBitDepth
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_saveImageJPEG(const char* pImgFileName, const int nWidth, const int nHeight, const int nChannels, const short* pImg, const int nQuality = 100, const bool bLossless = false, const int nBitDepth = 8);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_saveImageJPEG2K
 * -----------------------------------------------------------------------------
 * Saves an image in JPEG format. Uses the Matlab file saver and Kakadu
 * JPEG-2000 codec.
 *
 * Inputs:
 * const char* pImgFileName
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * const short* pImg
 * const int nLayers
 * const float* pLayerRates
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_saveImageJPEG2K(const char* pImgFileName, const int nWidth, const int nHeight, const int nChannels, const short* pImg, const int nLayers, const float* pLayerRates);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_loadImageJPEG2K
 * -----------------------------------------------------------------------------
 * Saves an image in JPEG format. Uses the Matlab file loader and
 * Kakadu JPEG-2000 codec.
 *
 * Inputs:
 * const char* pImgFileName
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * const short* pImg
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_loadImageJPEG2K(const char* pStreamName, int& nWidth, int& nHeight, int& nChannels, short*& pImg);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_showImage
 * -----------------------------------------------------------------------------
 * Displays image in one window and line profile in another window.
 *
 * Inputs:
 * const int nWidth
 * const int nHeight
 * const int nChannels
 * short* pImage
 * const char* pName
 * const bool bNewFigure;
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_showImage(const int nWidth, const int nHeight, const int nChannels, short* pImage, const char* pName = NULL, const bool bNewFigure = true);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_imageFileSize
 * -----------------------------------------------------------------------------
 * Probes the number of bits in an image file.
 *
 * Inputs:
 * const char* pImgFileName
 *
 * Outputs:
 * int* pBits
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_imageFileSize(const char* pImgFileName, int* pBits);

/* -----------------------------------------------------------------------------
 * ChenImageMatlab_systemCommand
 * -----------------------------------------------------------------------------
 * Evalulates a system command using Matlab.
 *
 * Inputs:
 * const char* pCommand
 * -----------------------------------------------------------------------------
 */
int ChenImageMatlab_systemCommand(const char* pCommand);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -