在MATLAB中用固定的色调,饱和度和亮度在cielab空间中创建2D圆

时间:2018-09-22 04:28:52

标签: matlab filter geometry gaussian figure

我对Matlab还是很陌生,所以这可能是一个愚蠢的问题。无论如何..我将不胜感激。

我基本上需要了解如何:

1)在cielab空间中创建实心圆图像(无背景)。该圆应具有r = 125像素和固定的饱和度(38)和亮度(85)值。 cielab空间中的色相应为0

2)将大小为100 x 100,标准偏差为10的高斯低通滤波器仅应用于圆上

3),以创建一个循环来复制此操作,以保存具有相同亮度和饱和度以及不同色相度(每步5度)的不同圆形图像。特别是我需要第一个圆为0色相,第二个圆为5色度,第三个为10依此类推-直到达到250度。所以最后我应该有51个颜色略有不同的圆圈。

我在网上看了一下,我理解-如果我错了,请纠正我-Matlab无法管理图像透明度。你有什么建议?拥有这些图像之后,我基本上需要将它们叠加在黑屏上,因此这可能是一种将最终过滤后的图像保存为黑色背景的解决方案-但我必须确保它们是可靠的,因为它们将成为一部分行为视觉实验,没有错误的余地。

在一些我用来创建过滤圆的代码下面,但是我无法将其导出到cielab空间中并且没有(或黑色)背景。另外,我不知道如何创建循环!

% create a red circle.
set(gca,'Color','black')
cerchio_fig = rectangle('Position',[1,1,5,5],...
'Curvature',[1,1], 'FaceColor','r')
axis equal off;
saveas (cerchio_fig,'cerchio.png')

%% create a gaussian filter and save as a tiff

cerchio = imread('cerchio.png')
set(gcf,'Color','black')
cerchioblur = imgaussfilt(cerchio,10)
imwrite (cerchioblur,'cerchioblur.tiff')

%% imwrite (cerchioblur,'cerchioblur.tiff','Colorspace','cielab') %% when I 
%%do that, my circle will be saved with completely different colours and 
%%when opened back in matlab it will be converted to a different colour 
%%space

imshow (cerchioblur)

有什么建议吗?

预先感谢

0 个答案:

没有答案