📄 vid_edge.mdl
字号:
Name "Edge Detection"
Ports [1, 1]
Position [330, 49, 390, 101]
NamePlacement "alternate"
TreatAsAtomicUnit off
MaskType "Prewitt Edge Detection"
MaskDescription "\"Look under\" this block (using \"ctrl+u\") fo"
"r an example of how C code may be directly entered into Simulink models via t"
"he S-Function Builder."
MaskPromptString "Cutoff:|Direction:"
MaskStyleString "edit,popup(Both|Vert|Horiz)"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "cutoff=@1;dir=@2;"
MaskInitialization "thresh=cutoff.^2;"
MaskDisplay "disp('Prewitt')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "90|Both"
System {
Name "Edge Detection"
Location [12, 401, 647, 537]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In"
Position [15, 48, 45, 62]
}
Block {
BlockType "S-Function"
Name "Pre-Filtering"
Ports [1, 3]
Position [135, 25, 245, 85]
CopyFcn "set_param(gcb,'LinkStatus','none')"
OpenFcn "sfunctionwizard(gcbh)"
FunctionName "vid_prefilt_sfcn"
Parameters "dir"
SFunctionModules "vid_prefilt_sfcn_wrapper "
WizardData "DataTag0"
MaskType "S-Function Builder"
MaskInitialization "val = [[.9 0.75 0.75 1 1 .9 .9 1]',[1 1 0."
"75 0.75 .9 .9 1 .9]'];\nsys = get_param(gcb,'FunctionName');"
MaskDisplay "plot(val(:,1),val(:,2))\ndisp(sys)\nport_la"
"bel('input',1,'I')\nport_label('output',1,'bx')\nport_label('output',2,'by')"
"\nport_label('output',3,'b')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "normalized"
}
Block {
BlockType "S-Function"
Name "Prewitt"
Ports [3, 1]
Position [355, 23, 470, 87]
CopyFcn "set_param(gcb,'LinkStatus','none')"
OpenFcn "sfunctionwizard(gcbh)"
FunctionName "vid_prewitt_sfcn"
Parameters "thresh,dir"
SFunctionModules "vid_prewitt_sfcn_wrapper "
WizardData "DataTag1"
MaskType "S-Function Builder"
MaskInitialization "val = [[.9 0.75 0.75 1 1 .9 .9 1]',[1 1 0."
"75 0.75 .9 .9 1 .9]'];\nsys = get_param(gcb,'FunctionName');"
MaskDisplay "plot(val(:,1),val(:,2))\ndisp(sys)\nport_la"
"bel('input',1,'bx')\nport_label('input',2,'by')\nport_label('input',3,'b')\np"
"ort_label('output',1,'e')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "normalized"
}
Block {
BlockType Outport
Name "Out"
Position [560, 48, 590, 62]
}
Line {
SrcBlock "Pre-Filtering"
SrcPort 1
DstBlock "Prewitt"
DstPort 1
}
Line {
SrcBlock "Pre-Filtering"
SrcPort 2
DstBlock "Prewitt"
DstPort 2
}
Line {
SrcBlock "Pre-Filtering"
SrcPort 3
DstBlock "Prewitt"
DstPort 3
}
Line {
SrcBlock "Prewitt"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Line {
SrcBlock "In"
SrcPort 1
DstBlock "Pre-Filtering"
DstPort 1
}
}
}
Block {
BlockType Reference
Name "Edges"
Ports [1]
Position [480, 50, 525, 100]
NamePlacement "alternate"
SourceBlock "dspsnks4/Matrix\nViewer"
SourceType "Matrix Viewer"
ImageParams off
CMapStr "hot(256)"
YMin "0"
YMax "1"
AxisColorbar on
AxisParams off
AxisOrigin "Upper left corner"
XLabel "X-axis"
YLabel "Y-axis"
ZLabel "Z-axis"
FigPos "[359 304 317 298]"
AxisZoom on
}
Block {
BlockType SubSystem
Name "Info"
Ports []
Position [555, 52, 627, 103]
BackgroundColor "cyan"
DropShadow on
ShowName off
TreatAsAtomicUnit off
MaskType "Frame-Based Simulation Info"
MaskDisplay "disp('How to run\\nthis demo')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Info"
Location [38, 205, 492, 671]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType SubSystem
Name "a"
Ports []
Position [15, 165, 109, 210]
BackgroundColor "cyan"
ShowName off
OpenFcn "open_system('vid_edge/Edge Detection/Pre-Fi"
"ltering');\n "
TreatAsAtomicUnit off
MaskDisplay "disp('Shortcut to open\\nS-Fcn Builder\\nfo"
"r 1st block')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "a"
Location [405, 160, 954, 522]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Annotation {
Name "How to run this demo\n\nThis demo utili"
"zes two S-Function Builder blocks.\nPrior to running the demo for the first t"
"ime, each S-Function\nmust be created and compiled. \n\nTo do this,\n1 - loo"
"k under the Edge Detect block\n (select the block and hit \"ctrl+u\").\n2"
" - select the first S-Function Builder block\n (named Row/Col Filtering)"
" and double-click block\n3 - hit \"Build\" button and the S-Function will be "
"created and compiled;\n hit \"Close\" when compilation is finished\n4 - s"
"elect the second S-Function Builder block\n (named Prewitt) and double-cl"
"ick block\n5 - hit \"Build\" button, then \"Close\".\n6 - You are ready to ru"
"n the demo\n\nNote: you might need to configure MATLAB for compiling MEX\nfun"
"ctions prior to this; run \"mex -setup\" from the command line\nif you experi"
"ence problems."
Position [76, 181]
HorizontalAlignment "left"
FontName "Arial"
FontSize 14
}
}
}
Block {
BlockType SubSystem
Name "a1"
Ports []
Position [20, 330, 110, 376]
BackgroundColor "cyan"
ShowName off
OpenFcn "open_system('vid_edge/Edge Detection/Prewit"
"t');\n "
TreatAsAtomicUnit off
MaskDisplay "disp('Shortcut to open\\nS-Fcn Builder\\nfo"
"r 2nd block')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "a1"
Location [405, 160, 954, 522]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Annotation {
Name "How to run this demo\n\nThis demo utili"
"zes two S-Function Builder blocks.\nPrior to running the demo for the first t"
"ime, each S-Function\nmust be created and compiled. \n\nTo do this,\n1 - loo"
"k under the Edge Detect block\n (select the block and hit \"ctrl+u\").\n2"
" - select the first S-Function Builder block\n (named Row/Col Filtering)"
" and double-click block\n3 - hit \"Build\" button and the S-Function will be "
"created and compiled;\n hit \"Close\" when compilation is finished\n4 - s"
"elect the second S-Function Builder block\n (named Prewitt) and double-cl"
"ick block\n5 - hit \"Build\" button, then \"Close\".\n6 - You are ready to ru"
"n the demo\n\nNote: you might need to configure MATLAB for compiling MEX\nfun"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -