Joh*_*ohn 1 python image-processing python-3.x
我的数组A
大小为 64x64。如果像素位于 ROI 内部,则 ROI 区域的像素强度为 100。投资回报率之外为零
import numpy as np
A= np.zeros((64,64))
A[16:48,26:48]=100
Run Code Online (Sandbox Code Playgroud)
我想将内部 ROI 的强度值更改为均值为 100、方差为 1 的高斯分布。我该怎么做?我尝试了下面的代码,但它不正确,因为 np.random.normal 代表整个数组,而不是 ROI
noise_value = np.random.normal(0, 1, size=A.shape)
A = A*noise_value + A
Run Code Online (Sandbox Code Playgroud)
尝试这个:
import numpy as np
import matplotlib.pyplot as plt
def gaus(x, a, m, s):
return np.sqrt(a)*np.exp(-(x-m)**2/(2*s**2))
# if you want it normalized:
#return 1/(np.sqrt(2*np.pi*s**2))*np.exp(-(x-m)**2/(2*s**2))
xx, yy = np.meshgrid(np.arange(100), np.arange(100))
gaus2d = gaus(xx, 100, 50, 10)*gaus(yy, 100, 50, 10)
plt.figure()
plt.imshow(gaus2d)
plt.colorbar()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1115 次 |
最近记录: |