Re: [討論] 請問RGB 3D圖要怎麼畫?已回收
既然有人回答了(那位大大寫得好簡單喔),
不過我把之前寫的稍微改一下做個分享。
(雖然不確定合不合用)
主程式
%author:Vincent Chang
% directed by Dr.Sun
clc;
clear;close all;
%% 讀取影像 並且決定將影像縮小為原影像大小的10%
img=imread('Jill.jpg');
scaledown=0.1;
%% 畫出 RGB在3D空間的畫素分布
srgbdistribution(img,scaledown);
*****************************************
以下為副程式,請編個 srgbdistribution.m檔
%author:Vincent Chang
% directed by Dr.Sun
%影像在縮放時,還是用bilinear會比較好
function srgbdistribution(img,scaledown)
small_pic=imresize(img,scaledown,'bilinear');
[nrows ncols ch]=size(small_pic);
%取出影像長寬資訊,如果影像為彩色,取出來的值必為3
change_pic=double(reshape(small_pic,nrows*ncols,3));
%分別將影像資料轉成N*3的矩陣
RGB=double(reshape(small_pic,nrows*ncols,3))/255;
% turn into color_value,跟上式不同在於裡面的數值皆為0到1
%% 搭配markersize 繪圖
for ii=1:ncols*nrows
plot3(change_pic(ii,1),change_pic(ii,2),change_pic(ii,3),'.','markersize',20,'color',RGB(ii,:));
hold on;
end
box on
rotate3d on
axis([0 255 0 255 0 255])
axis([0 255 0 255 ])
xlabel('R*'), ylabel('G*'), zlabel('B*');
set(gcf, 'color','w')
set(gca, 'color',[.3 .3 .3])
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.21.111
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):