How to apply Gaussian filter with for loop without imnoise?
2 ビュー (過去 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!