How to apply Gaussian filter with for loop without imnoise?
3 次查看(过去 30 天)
显示 更早的评论
How can I apply Matlab code to do what the imnoise function does but manually using for loop?
0 个评论
采纳的回答
DGM
2021-9-4
编辑:DGM
2021-9-5
Replicating the gaussian noise functionality of imnoise() does not require any loops. If someone insists that you need to use loops, make sure to let them know they're wrong.
inpict = im2double(imread('cameraman.tif'));
s0 = size(inpict);
% default parameters used by imnoise()
gaumean = 0;
gauvar = 0.01;
outpict = inpict + gaumean + sqrt(gauvar)*randn(s0);
imshow(outpict)
If you want to know how imnoise() does something, open imnoise() and look at $MLROOT/toolbox/images/images/+images/+internal/algimnoise.m
7 个评论
Image Analyst
2021-9-5
Chances are what you want is alsread on the path, so you can open/edit the m-file simply by saying edit without all that other stuff about the path. For example to edit imnoise, say
>> edit imnoise
That should work for most built-in functions. However many of them are just wrappers to a binary mex DLL file.
DGM
2021-9-5
Some functions are very simple (e.g. immse()) and can just be opened and viewed in whole. A lot of functions will call lower-level files, some of which may be viewable m-code. Some may call precompiled binaries which aren't viewable. If you want to find out what something does, start by opening the function file itself and see what it calls. The rest is just digging through the directories in the toolbox.
For a lot of things, you can tell what something does by reading the docs and observing the behavior, although there are plenty of cases where the documentation is incomplete or the wording is vague or misleading in my opinion.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!