[問題]關於RGB 設成if條件

看板MATLAB作者 (星悠)時間6年前 (2018/06/30 06:43), 編輯推噓1(1017)
留言18則, 3人參與, 6年前最新討論串1/1
最近在做一個自動選擇程式 我給定一個座標 想從我的圖上抓出圖上座標點的RGB 將RGB轉成double如果RGB跟我給的數字相符就執行的if條件 但是程式似乎看不懂我給的條件 拜託高手相助 load pumpSelectionTable.mat; X=1729; Y=378 R=pumpSelectionTable(Y,X,1); G=pumpSelectionTable(Y,X,2); B=pumpSelectionTable(Y,X,3); if double[R]=0&double[G]=0&double[B]=238; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.71.4.54 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1530312230.A.B13.html

06/30 07:56, 6年前 , 1F
error message要秀出來阿
06/30 07:56, 1F

06/30 08:38, 6年前 , 2F
不太懂 是少了else的意思嗎 可以仔細說一下嗎 謝謝
06/30 08:38, 2F

06/30 14:15, 6年前 , 3F
(R==0 & G==0 & B==238) ,並且 if 沒「;」
06/30 14:15, 3F

06/30 14:16, 6年前 , 4F
上面回傳符合logical array,如果要逐一處理就 for n=1:XX
06/30 14:16, 4F

06/30 14:17, 6年前 , 5F
if (R(n)==0 && ....)
06/30 14:17, 5F

06/30 14:45, 6年前 , 6F
謝謝回答 R,G,B取出的變數是unit8所以有轉double才能相等
06/30 14:45, 6F

06/30 14:49, 6年前 , 7F
我想要R,G,B都等於我指定的值才執行
06/30 14:49, 7F

06/30 18:03, 6年前 , 8F
你有試過嗎?首先matlab會幫你轉。再來0對uint和double一樣
06/30 18:03, 8F

06/30 18:07, 6年前 , 9F
擔心轉錯就 R == uint8(238)
06/30 18:07, 9F

06/30 19:51, 6年前 , 10F
有喔 如果只有double(R)=0; 程式可以執行
06/30 19:51, 10F

06/30 19:52, 6年前 , 11F
但是double(R)=0&double(G)=0&double(B);三個同時成立就
06/30 19:52, 11F

06/30 19:55, 6年前 , 12F
沒辦法執行會在G的地方出現
06/30 19:55, 12F

06/30 19:55, 6年前 , 13F
Unbalanced or unexpected parenthesis or bracket.
06/30 19:55, 13F

06/30 23:33, 6年前 , 14F
.... 你有沒有仔細想過錯誤訊息是什麼意思。
06/30 23:33, 14F

06/30 23:36, 6年前 , 15F
現代化的程式語言,比較數值幾乎都是用 == 非 = 。
06/30 23:36, 15F

06/30 23:36, 6年前 , 16F
你 double(R)=0 實際上是產生了一個名為 double 的 array
06/30 23:36, 16F

06/30 23:37, 6年前 , 17F
whos 一下就知道了。
06/30 23:37, 17F

07/01 01:53, 6年前 , 18F
謝謝你點醒 我把double(R)==0 改成R==0 就解決了
07/01 01:53, 18F
文章代碼(AID): #1RDhOciJ (MATLAB)
文章代碼(AID): #1RDhOciJ (MATLAB)