📄 chenimagematlab.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 + -