我使用MATLAB 2015B进行合成图像如下(不含绿色圆圈)如何在MATLAB中创建合成图像?
这也许很难让明星形象对我来说。因此,我使用了一个简单的形状,如下面的代码。但是,我无法创建与示例图像类似的强度。如果可能的话,你会帮我制作图片吗?我认为图像有两个组成部分:强度遵循高斯分布和不均匀强度。感谢所有
%% Gray image
rows = 256;
columns = 256;
grayImage = ones(rows, columns, 'uint8').*200;
xCoords= [80 180 180 80 80];
yCoords = [80 80 180 180 80];
mask = poly2mask(xCoords, yCoords, rows, columns);
grayImage(mask) = 80;
%% First component Gray+noise
im_normal=double(grayImage./max(grayImage(:)));
im_noise= imnoise(im_normal,'gaussian',0,0.02);
%% Second component: Inhomogeneous term
X = 1:rows; % X is a vector from 1 to imageSize
X0 = (X/rows) -0.2; % rescale X
Xm = meshgrid(X0, X0); % 2D matrices
%% Output image
Out_Img=im_noise.*Xm;
subplot(121);imshow(grayImage);
subplot(122);imshow(Out_Img,[]);
这是我目前的结果
首先,如果你看看你的示例图像,背景是灰色而不是黑色。它也似乎在形状内部噪音的幅度更高。 – Suever
谢谢。我更新了它 – Jame
你想要重现的特征究竟是什么? – zeeMonkeez