模拟加噪 给视频图像添加噪声

void operation::addNoise(IplImage pFrame,int n)
{
uchar
data = (uchar*)pFrame->imageData;
int row = pFrame->height;
int col = pFrame->width;
for(int k = 0;k < n;k++)
{
int i = rand() % row;
int j = rand() % col;
data[i*pFrame->widthStep+3*j] = 255;
data[i*pFrame->widthStep+3*j+1] = 255;
data[i*pFrame->widthStep+3*j+2] = 255;
}
}

算式是什么意思,为什么是3*j, +1 +2 代表什么

2个回答

应该是指你的颜色有rgb(红绿蓝)三个分量,这里随机找到一个像素,将rgb都设置为255,这个点就成白色的了。

zhai260525088
zhai260525088 3*j是三个分量 那这里面的+1+2什么意思啊 另外这里为什么是三句算法啊 我尝试过了 一句也可以加噪
4 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复zhai260525088: uchar相当于8位无符号整数,正好表示一个颜色分量
4 年多之前 回复
zhai260525088
zhai260525088 另外为什么要将获取到的帧的图像数据 转换为uchar型 uchar data = (uchar*)pFrame->imageData
4 年多之前 回复
zhai260525088
zhai260525088 回复zhai260525088: 因为你之前说过了3*j就是三个分量了 我才这么问的
4 年多之前 回复
zhai260525088
zhai260525088 这里面的+1+2什么意思啊 另外这里为什么是三句算法啊 我尝试过了 一句也可以加噪
4 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复zhai260525088: 问题如果解决,请点下我回答右边的采纳,谢谢
4 年多之前 回复
zhai260525088
zhai260525088
4 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复zhai260525088: 0表示黑,255表示最亮
4 年多之前 回复
zhai260525088
zhai260525088 data[i*pFrame->widthStep+3*j+2] = 255设置成255是为什么 谢谢回答我的问题
4 年多之前 回复

这个就是传说中的添加椒盐噪声吧图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐