Salt and pepper code in matlab
显示 更早的评论

I want to convert from this opencv code to matlab code.
My tried code:
% I generated random salt & pepper noise
dim = size(I);
[m, n] = size(I);
saltpepper_noise=zeros((m, n));
saltpepper_noise=rand(m,n); #creates a uniform random variable from 0 to 1
for i in range(0,m):
for j in range(0,n):
if saltpepper_noise[i,j]<=0.5:
saltpepper_noise[i,j]=0
else:
saltpepper_noise[i,j]=255
1 个评论
Nathan Blanc
2020-11-10
Not sure I understand your code fully, is I defined before the code begins?
in any case, a few corrections
- the asignment [m,n]=x is impossible in matlab, you can should define them seperatly:
m=size(I)(1)
n=size(I)(2)
- no need to define saltpepper_noise twice, you can just use the second line
- in a for loop, you use the syntax for i=1:m
in general, i suggest you use matlab's online documentation, it's very helpful and full of examples
回答(2 个)
Image Analyst
2020-11-10
编辑:Image Analyst
2020-11-10
If you want to use conditionals and be as close as possible to that code (instead of using the built-in imnoise function), then you can do this:
% Get grayscale image
saltpepper_img = imread('cameraman.tif');
[img.rows, img.cols] = size(saltpepper_img);
% Create noise image.
saltpepper_noise = randi(255, img.rows, img.cols, 'uint8');
subplot(2, 2, 1);
imshow(saltpepper_noise);
title('Original Noise', 'FontSize', 15);
black = saltpepper_noise < 10;
subplot(2, 2, 2);
imshow(black);
title('Black Locations', 'FontSize', 15);
white = saltpepper_noise > 245;
subplot(2, 2, 3);
imshow(white);
title('White Locations', 'FontSize', 15);
% Assign black and white to gray scale image.
saltpepper_img(black) = 0;
saltpepper_img(white) = 255;
subplot(2, 2, 4);
imshow(saltpepper_img);
title('Grayscale image with noise', 'FontSize', 15);

Also see attached demos.
2 个评论
Rooter Boy
2020-11-10
Image Analyst
2020-11-10
In this forum, you can thank people by clicking the Vote icon or "Accepting the answer" to give them reputation points. Thanks in advance.
类别
在 帮助中心 和 File Exchange 中查找有关 Image Category Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!