所以我有一个RGB图像,我希望将它显示在RGB颜色立方体中,其像素为颜色立方体中的点。这听起来很简单,但我无法弄清楚如何。
答案 0 :(得分:2)
您可以打开轴框以模拟立方体,并执行3D散点图:
I = imread('peppers.png');
vRGB = reshape(I,[],3);
plot3(vRGB(:,1),vRGB(:,2),vRGB(:,3),'.','MarkerSize',0.5)
set(gca,'Box','on')
xlabel('red'); ylabel('green'); zlabel('blue');
xlim([0 255]); ylim([0 255]); zlim([0 255])
答案 1 :(得分:1)
假设img
是MxNx3图像,您可以这样做:
[M, N, ~] = size(img);
plot3(...
reshape(img(:,:,1), 1, M * N), ...
reshape(img(:,:,2), 1, M * N), ...
reshape(img(:,:,3), 1, M * N), '.')
xlabel('Red'), ylabel('Green'), zlabel('Blue')
grid on