颜色区域上的Numpy盐和胡椒图像?
我有大量的图像,如下所示: 我想给这些图像添加随机的黑白像素(盐和胡椒),但只在彩色圆圈内。圆圈周围的黑色边框必须保持颜色区域上的Numpy盐和胡椒图像?,numpy,image-processing,machine-learning,dataset,Numpy,Image Processing,Machine Learning,Dataset,我有大量的图像,如下所示: 我想给这些图像添加随机的黑白像素(盐和胡椒),但只在彩色圆圈内。圆圈周围的黑色边框必须保持[0,0,0]。其目的是扩充机器学习数据集 问题: 如何使用Numpy实现这一点?最简单的方法是在给定的矩形中生成随机坐标,并检查此位置的像素是否为黑色。如果不是,则将其颜色更改为随机选择的黑色和白色。伪代码: while saltcount < limit: rx = random(width) ry = random(height) c = pixe
[0,0,0]
。其目的是扩充机器学习数据集
问题:
如何使用Numpy实现这一点?最简单的方法是在给定的矩形中生成随机坐标,并检查此位置的像素是否为黑色。如果不是,则将其颜色更改为随机选择的黑色和白色。伪代码:
while saltcount < limit:
rx = random(width)
ry = random(height)
c = pixel[ry][rx]
if (c != 0):
pixel[ry][rx] = 0xFFFFFF * random(2)
saltcount++
其中,cx、cy、r
是圆心坐标和半径,t
和a
是范围0..1
如果您需要在图片上找到圆,您可以制作灰度图片或使用r、g、b的任何通道,并使用Hough变换来发现圆参数。您有什么问题-确定圆区域?或者它的形状/位置是恒定的。如何添加随机、尖锐的噪声(非常暗或非常亮的像素),并确保它们只添加到图像的有色部分。噪音可以在任何地方增加,但我需要一种方法来覆盖外部边界,以确保该区域始终是黑色的。
x = cx + r * sqrt(t) * cos(2 * Pi * a)
y = cy + r * sqrt(t) * sin(2 * Pi * a)