資源簡介
MATALB可調用的圖像滑動窗口算法,用mex編譯后可調用。返回滑動窗口得到的圖片塊樣本。
代碼片段和文件信息
#include?“mex.h“
#include?“math.h“
#include?
#define?IM_IN prhs[0]
#define?SZ_IN???prhs[1]
#define?STRID???prhs[2]
#define?P_OUT???plhs[0]
void?mexFunction(int?nlhs?mxArray?*plhs[]?int?nrhs?const?mxArray?*prhs[])
{
????/**********************************************************
?????*??Input?arguments:
?????*??????original?image
?????*??????size
?????*??????stride
?????*??Output?arguments:
?????*??????patches
?????*??????scales
?????**********************************************************/
????double?*in?*out?*s;
????mwSize?sz[2]?stride[2]?n[3]?dims[4]?ndim;????
????ndim?=?mxGetNumberOfDimensions(IM_IN);????
????
????
if?(nrhs?2?||?nrhs?>?3)?{
????????mexErrMsgTxt(“Invalid?number?of?input?arguments.“);
????}?else?if?(nlhs?>?2)?{
????????mexErrMsgTxt(“Too?many?output?arguments.“);
????}????
????if?(!mxIsDouble(IM_IN)?||?mxIsComplex(IM_IN)?||?ndim?>?3)?{
????????mexErrMsgTxt(“Image?should?be?a?2-D?or?3-D?double?matrix.“);
????}
????if?(!mxIsDouble(SZ_IN)?||?mxIsComplex(SZ_IN)?||?mxGetM(SZ_IN)*mxGetN(SZ_IN)?>?2?||?mxGetNumberOfDimensions(SZ_IN)?>?2)?{
????????mexErrMsgTxt(“Invalid?window?size.“);
????}
????if?(nrhs?==?3)?{
????????if?(!mxIsDouble(STRID)?||?mxIsComplex(STRID)?||?mxGetM(STRID)*mxGetN(STRID)?>?2?||?mxGetNumberOfDimensions(STRID)?>?2)?{
????????????mexErrMsgTxt(“Invalid?stride.“);
????????}
????}
????
- 上一篇:labview與單片機rs232串口通信
- 下一篇:使用c語言實現圖像二值化
評論
共有 條評論