[问题] 读取图的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