matlab 有没有这样的函数:返回RGB图像中指定颜色的的像素点的位置?
比如:一幅256*256*3的图像,大部分都是蓝色(0,0,255),极个别点是红色(255,0,0),我想查找这些红色像素点的位置,怎么做?有没有直接的函数?...
比如:一幅256*256*3的图像,大部分都是 蓝色(0,0,255),极个别点是 红色(255,0,0),我想查找这些红色像素点的位置,怎么做?有没有直接的函数?
展开
2个回答
展开全部
试试这样子:
% 所要查找的红色点的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);
% 所要查找的红色点的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);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询