создание 2D круга в пространстве cielab с фиксированным оттенком, насыщенностью и яркостью в MATLAB - PullRequest
0 голосов
/ 22 сентября 2018

Я довольно новичок в Matlab, так что это, вероятно, глупый вопрос.Во всяком случае .. Я был бы признателен за любую помощь.

Мне в основном нужно понять, как:

1) , чтобы создать заполненное изображение круга (без фона) в пространстве cielab,Круг должен иметь ar = 125 пикселей и фиксированные значения насыщенности (38) и яркости (85).оттенок должен быть 0 в пространстве cielab

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)

Есть предложения?

Заранее спасибо

...