Function which generates Poisson noise / Poisson distribution from the data. It is a raw implementation and uses the inversion method for counts smaller than 30, and gaussian approximation for larger values. The code is vectorized and faster then default imnoise(I,'poisson') and poissrnd
J = impoisson(I)
If I is integer like uint8 the counts equal the input values
If I is single precision then the counts are assumed 1e6 x the input value
If I is double precision then the counts are assumed 1e12 x the input value
Example
X = uint16(repmat((1:1000),1000,1));
Y = impoisson(X);
figure, plot(Y(:)); hold on; plot(X(:),'r')
figure, imshow([X,Y],[])
引用格式
Dirk-Jan Kroon (2024). impoisson (https://www.mathworks.com/matlabcentral/fileexchange/166076-impoisson), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
创建方式
R2022b
兼容任何版本
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!