Альтернатива AlphaData в Matlab

В Matlab я строю матрицу (назовем ее M), используя imagesc поверх изображения, используя imshow. Я хотел бы, чтобы у M была степень прозрачности, чтобы я мог видеть изображение ниже. Вот что я делаю:

    imshow(img); hold on;
    h = imagesc(M); 
    set(h,'AlphaData',0.4); % set transparency to 40%

Однако последняя строка выдает ошибку при запуске в Linux. Я пытался решить это, но ничего не работает. Интересно, есть ли альтернатива свойству AlphaData, чтобы сделать его прозрачным. Спасибо!

РЕДАКТИРОВАТЬ: я использую Matlab R2014a и Java 1.7 в Linux CentOS 6.6.


person karl71    schedule 22.07.2015    source источник
comment
Что возвращает get(gcf,'renderer')? (Это скажет вам текущий рендерер). А set(gcf,'renderer')? (Это список возможных рендереров). Попробуйте установить рендерер на другой, отличный от того, который вы используете в данный момент. Некоторые средства визуализации не поддерживают прозрачность. (В Windows, я думаю, только 'opengl')   -  person Luis Mendo    schedule 22.07.2015
comment
Вы пробовали alpha(.4) или даже set(h, 'alpha',.5); ?   -  person Iman    schedule 22.07.2015
comment
Спасибо, Луис. Это решило это!   -  person karl71    schedule 22.07.2015
comment
Мне просто нужно было запустить Matlab с терминала, вызвав matlab -softwareopengl, чтобы перейти на средство визуализации OpenGL.   -  person karl71    schedule 22.07.2015
comment
Опубликовать это как ответ? Это может быть полезно для пользователей Linux, имеющих ту же проблему.   -  person Luis Mendo    schedule 22.07.2015


Ответы (1)


Как предложил Луис Мендо, мне просто нужно было изменить средство визуализации. Ты сможешь:

>get(gcf,'renderer'); % to see which render engine is Matlab using
>set(gcf,'renderer'); % to get a list with all the possible renderers in your machine

Итак, по крайней мере в Linux, чтобы изменить средство визуализации, необходимо запустить Matlab из терминала, вызвав его как:

matlab -softwareopengl 

Как только это будет сделано, можно установить прозрачность на конкретном графике, как показано в описании вопроса.

person karl71    schedule 22.07.2015