نقل قول:
نوشته اصلي بوسيله bahareh_khalili
سلام
من می خوام بدون استفاده از توابع متلب عکس را نویزی کنم.نویز گاوسین ، ریلی و...
می شه لطفا کمک کنید
|
خوب برای هر کدوم باید یه روش خاص رو پیاده کنید. برای اینکه نویز گوسی به تصویر اضافه کنید می تونید به این صورت عمل کنید که به هر پیکسل تصویر یه مقدار تصادفی با توزیع گوسی با یک مقدار پارامتر سیگما اضافه کنید.
مثلا یه تصویر داری به اندازه 100*100 به اسم im
im=double(im);
im+randn(100,100)*5-2.5
اگر توزیع نویز یکنواخت باشه
im+rand(100,100)*5-2.5
فقط باید آخرش چک کنی که پیکسلهایی که در بازه 0 تا 255 نیستند به این بازه بیایند که این کارو می تونی به صورت زیر انجام بدی
im=min(max(im,0),255)
برای نویز فلفل و نمک هم می تونید به این صورت عمل کنید.
برای این کار هم با یک احتمالی انتخاب کنید که یک پیکسل در تصویر دارای مقدار سفید(نویز نمک) یا سیاه(نویز فلفل) و یا دارای مقدار خودش باشد یعنی
rr=[];
rr=rand(256,256);imm=zeros(256,256);
imm(rr<0.1)=255;
imm(rr>=0.1 & rr<0.2)=0;
imm(rr>=0.2)=im((rr>=0.2));
figure;imshow(mat2gray(imm));