作业帮 > 综合 > 作业

matlab 有没有这样的函数:返回RGB图像中指定颜色的的像素点的位置?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/26 16:48:43
matlab 有没有这样的函数:返回RGB图像中指定颜色的的像素点的位置?
比如:一幅256*256*3的图像,大部分都是 蓝色(0,0,255),极个别点是 红色(255,0,0),我想查找这些红色像素点的位置,有没有直接的函数?
试试这样子:
% 所要查找的红色点的r, g, b值
r_value = 255;
g_value = 0;
b_value = 0;
% image 的r, g, b三个分量图像
r = img(:, :, 1):
g = img(:, :, 2);
b = img(:, :, 3);
% 标示出图像image中红色点的位置为1,其它点为0,结果存放在index中
index_r = (r == r_value);
index_g = (g == g_value);
index_b = (b == b_value);
index = index_r & index_g & index_b;
% 最终的红色点位置(x, y)坐标
[x, y] = find(index == 1);