Как сделать значения NaN в матрице прозрачными в Matlab - PullRequest
1 голос
/ 08 апреля 2020

У меня есть две фигуры, черно-белое изображение и тепловая карта, с тепловой картой, наложенной поверх черно-белого изображения. Моя тепловая карта выводится в 2d матрицу, и я установил значения, которые <= 0, до NaN, ожидая, что когда я построю график, не будет ничего, кроме фона (первое изображение). </p>

Эталонные изображения и код:

%% Resizing image as well as blending to a particular 'transparency' value (i.e., 'alpha'). 
rgb_at_scale  = imresize(rgb_at,[30 460],'nearest');
rgb_at_scale_2 = rgb_at_scale;
toto          = zeros(size(rgb_at_scale_2));
alpha = 0.6;
rgb_blend = alpha * (rgb_at_scale) + (1 - alpha) * toto.*(0.5);
rgb_blend_final = rgb_blend;
rgb_blend_final(rgb_blend_final <= 0) = nan;


%% Blending heatmap with orginal_image %%
img = 47;
figure('Color', 'k');
ax1 = axes;
imagesc(X_1, Z_1, 10*log10(R1_contrast(:,:,img)),[115 145]);
colormap(ax1,'gray');
ax = gca;
h=xlabel('Lateral(mm)'); %or h=get(gca,'xlabel')
set(h, 'FontSize', 20); 
set(h,'FontWeight','bold');%bold font
z=ylabel('Depth(mm)');
set(z, 'FontSize', 20);
set(z, 'FontWeight', 'bold');
box(ax,'off'); 
set(gca, 'XColor', 'white', 'FontSize', 14); % set x-axis color to white
set(gca, 'YColor', 'white', 'FontSize', 14);
set(gca, 'FontWeight', 'bold');
hold on;
% blended_img_additions %
im = imagesc(rgb_blend_final, 'XData', [-5 5], 'YData', [3.35 6.65]); % adjusting coordinates of HM over original image
ax2 = axes;
im.AlphaData = max(rgb_blend_final,[],3);% Setting the alpha blend to it's highest transparency value '3'
colormap(ax2, 'jet');caxis([0 2.5]);
ax2.Visible = 'off';
linkprop([ax1 ax2],'Position');
% Create colorbar
c = colorbar('peer',ax2,'FontWeight', 'bold','FontSize',20,...
    'Color',[0.941176470588235 0.941176470588235 0.941176470588235]);
c.Label.String = 'Time (sec)';
%savefig(['at_heatmap_test_2' '.fig']);
hold off

enter image description here

Как сделать красный цвет прозрачным на изображении? Я попытался настроить команду AlphaData, но все еще показывает красный.

...