噪声图生成

import cv2
import numpy as np
def add_peppersalt_noise(image,n=1000):   #图像中噪声点的个数(n可修改)
    result=image.copy()
    w,h=image.shape[:2]#测量图片长和宽,2表示只取前两个数,image.shape返回三个参数
    for i in range(n):
        x=np.random.randint(1,w)
        y=np.random.randint(1,h)
        if np.random.randint(0,2) == 0:
            result[x,y]=0
        else:
            result[x,y]=255
    return result

image=cv2.imread('cai.png')    #想要添加噪声点的图(引号内需修改)
noise = add_peppersalt_noise(image)
# noise =cv2.resize(noise,(800,700))
# cv2.imshow('yuan',image)
# cv2.waitKey(1000)
cv2.imshow('cai',noise)
cv2.imwrite('cai_zao.jpg',noise)  #保存噪声点图,(引号内需修改)
cv2.waitKey(1000)

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
柏林噪声算法是一种用于生成2D地的算法。它是由柏林数学家卡尔·维特所提出的。该算法的基本原理是通过一系列随机数生成器产生噪声,在二维空间中形成连续的噪声案。 柏林噪声算法的过程可以简单概括为以下几个步骤: 1. 确定地大小和分辨率:首先需要确定生成的大小和分辨率,即地的宽度和高度,以及像素的数量。 2. 创建随机数生成器:使用随机数生成器产生随机数序列,这些随机数将用于生成噪声。柏林噪声算法通常使用梅森旋转算法或其他类似的高质量随机数生成器。 3. 生成噪声案:按照一定的规则和算法,使用随机数生成生成噪声案。柏林噪声算法通常使用渐变产生随机数的方法,即每个点的随机数值是由其周围点的随机数值决定的,通过对这些值进行插值计算得到最终的噪声案。 4. 进行后处理:得到的噪声案可能会有一些不合理或不自然的地方,需要进行后处理来修正。常见的后处理方法包括平滑、调整亮度和对比度等。 5. 输出地:最终生成的2D地可以输出为片文件或其他形式的形数据,供使用者进行进一步处理或应用。 柏林噪声算法生成的2D地具有丰富的细节和真实感,可以应用于游戏开发、地理信息系统等领域。它是一种有效而常用的生成的算法,被广泛应用于计算机形学和计算机模拟领域。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值