Matlab解决问题 问题一 在图像中,如何提取出一块封闭区域内所有像素 的位置?例如右图中的灰

Matlab解决问题问题一在图像中,如何提取出一块封闭区域内所有像素的位置?例如右图中的灰色区域,给出基本思路。... Matlab解决问题
问题一 在图像中,如何提取出一块封闭区域内所有像素
的位置?例如右图中的灰色区域,给出基本思路。
展开
 我来答
qingningleyun
推荐于2017-12-16 · TA获得超过5852个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3030万
展开全部
  1. 调入图像,如是RGB转换为GRAY;    (imread; rgb2gray) 

  2. 将白色像素点(255)改为0; (g(g==255) = 0)

  3. 将g转换为数值;  (g = double(g))

  4. g存入稀疏矩阵; (S = sparse(g))

  5. 提取稀疏矩阵的非零坐标值位置; ([i,j] = find(S))

  6. r = [j,i]        %% r 内即是所有灰色像素的位置,注意图像坐标与直角坐标系的位置关系

追问
可以只来个程序吗?谢谢啦
追答
fn = '002.jpg'; % 调入图像,如是RGB转换为GRAY;    (imread; rgb2gray) 
p = imread(fn);
g = rgb2gray(p);
g(g==255) = 0;  % 将白色像素点(255)改为0; (g(g==255) = 0)
g = double(g);  % 将g转换为数值;  (g = double(g))
S = sparse(g);  % g存入稀疏矩阵; (S = sparse(g))
[i,j] = find(S); % 提取稀疏矩阵的非零坐标值位置; ([i,j] = find(S))
r = [j,i];  %% r 内即是所有灰色像素的位置,注意图像坐标与直角坐标系的位置关系

%%

% 验证

plot(j,i,'.')
axis ij
axis equal

% imagesc(S)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式