实现代码如下:
void salt_peper_noise(uint8_t* gray, int width, int height)
{
uint8_t* img;
int i, j;
int low;
int h;
int tmp;
uint32_t n;
img = gray;
n = width * height;
low = RAND_MAX >> 7;
h = RAND_MAX - low;
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
tmp = rand() % n;
if (tmp < low)
{
*img = 0;
}
if (tmp > h)
{
*img = 255;
}
img++;
}
}
}
上面实现的是灰度图像,彩色图像类似。
效果如下: