Matlab解决问题 问题一 在图像中,如何提取出一块封闭区域内所有像素 的位置?例如右图中的灰
Matlab解决问题问题一在图像中,如何提取出一块封闭区域内所有像素的位置?例如右图中的灰色区域,给出基本思路。...
Matlab解决问题
问题一 在图像中,如何提取出一块封闭区域内所有像素
的位置?例如右图中的灰色区域,给出基本思路。 展开
问题一 在图像中,如何提取出一块封闭区域内所有像素
的位置?例如右图中的灰色区域,给出基本思路。 展开
展开全部
调入图像,如是RGB转换为GRAY; (imread; rgb2gray)
将白色像素点(255)改为0; (g(g==255) = 0)
将g转换为数值; (g = double(g))
g存入稀疏矩阵; (S = sparse(g))
提取稀疏矩阵的非零坐标值位置; ([i,j] = find(S))
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)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询