[問題] 讀取圖的RGB色碼

作者: QooHo (Qooo)   2016-03-29 21:23:09
大家好 想請教一下關於使用matlab讀取圖片RGB色碼的問題
假設我有一張圖想要知道其中一點的RGB色碼
http://imgur.com/HoZNQSy
如圖(圖有點醜請見諒) 為像素600X600的圖檔
想要得到那隻貓腮紅處(344,314)的色碼
分別存入C矩陣的第一列 123行
以下是我寫的程式碼
P=imread(['D:\cat.jpg']);
C(1,1)=P(344,314,1);
C(1,2)=P(344,314,2);
C(1,3)=P(344,314,3);
但是這樣讀出來的色碼跟圖上的顏色不一樣
如果加上
fa=imcrop(P,[344 314 0 0]);
imshow(fa);
X(1,1)=fa(1,1,1);
X(1,2)=fa(1,1,2);
X(1,3)=fa(1,1,3);
把那一小塊切出來 色碼就對了
想請問為什麼會有這樣的差異> < 以及有沒有方法不用切割圖片就讀取正確的色碼
謝謝大家
作者: JamesChen (James)   2016-03-30 04:58:00
應該沒這回事才對 我手邊沒辦法確認 但是妳要不要檢查一下那個矩陣
作者: QooHo (Qooo)   2016-03-30 09:23:00
讀出來是不一樣的值 有開起來比對過了 讀其他圖也有一樣的問題
作者: jeffppp (煩..)   2016-03-30 10:53:00
344 144怎麼來的? cursor點選看的xy 要跟矩陣相反
作者: QooHo (Qooo)   2016-03-30 19:00:00
我是用小畫家看的座標 切出來的時候也相同 所以讀取的時候應該要反過來嗎!?
作者: redsword   2016-04-04 17:53:00
像上面講的矩陣表示(橫列,直行)和座標(x,y)剛好相反而imcrop的第二個參數他用的是[XMIN YMIN WIDTH HEIGHT]

Links booklink

Contact Us: admin [ a t ] ucptt.com