[問題] 想把調色盤畫出來(如何在兩點間連線?)已回收

看板MATLAB作者 (不務正業的賊)時間16年前 (2010/01/05 15:49), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
已經把調色盤讀成一個3x256的矩陣 我想把RGB值當成XYZ座標畫成3D圖,每個顏色是一個點 設定一個值D,計算每個顏色間的歐幾里德距離d 然後在d<D的點之間連一條線 不知道我畫這個圖需要用到哪幾個函式呢?orz 目前試了plot, plot3, line 都不得要領 不是結果不是我要的樣子,就是一直跑紅字出來.. 目前試寫的東西: D=255; [X,MAP] = IMREAD('Explorer.gif'); MAP8 = uint16(round(MAP*255)); %0-1轉0-255 for (i=1:16) %256x256要跑很久,先用16測 for (j=1:16) if (i==j) d(i,j) = 0; else d(i,j)=sqrt(double((MAP8(i,1)-MAP8(j,1))^2 + (MAP8(i,2)-MAP8(j,2))^2 + (MAP8(i,3)-MAP8(j,3))^2)) end plot(MAP8, '*'); if ( d(i,j) < D ) %line( MAP8(i) , MAP8(j) ) plot3( MAP8(i:j-i:j,1),MAP8(i:j-i:j,2),MAP8(i:j-i:j,3)) end end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.241.104.166

01/05 20:27, , 1F
紅字寫啥?
01/05 20:27, 1F
目前改成如上, D設255 改用plot3取代line, 還是畫不出來(只有一條線) 紅字我再去製造一些出來... ※ 編輯: ThiefFan 來自: 163.17.7.249 (01/05 20:37) 從history弄了一些出來 不過這種初學者的試誤真的要看嗎...囧" >> trimesh(tri,3,4,5) ??? Undefined function or variable 'tri'. x=[1 4 7 10 1] y=[2 5 8 11 2] z=[3 6 9 12 3] >> plot3(x,y,z,'-s'); ??? Undefined function or variable 'x'. >> plot3(x,y,z,'x'); ??? Undefined function or variable 'x'. >> line(MAP8) ??? Error using ==> line Not enough input arguments. >> line(MAP8(1::),MAP8(:1:),MAP8(::1)) ??? line(MAP8(1::),MAP8(:1:),MAP8(::1)) | Error: Unexpected MATLAB operator. >> line(x,y,z) ??? Undefined function or variable 'x'. ※ 編輯: ThiefFan 來自: 163.17.7.249 (01/05 20:44) ※ 編輯: ThiefFan 來自: 58.99.36.48 (01/06 22:32) ※ 編輯: ThiefFan 來自: 58.99.36.48 (01/06 22:33)
文章代碼(AID): #1BGkxzDa (MATLAB)