首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定超像素中每个像素的值。

指定超像素中每个像素的值。
EN

Stack Overflow用户
提问于 2019-02-13 19:53:06
回答 1查看 368关注 0票数 2

我可以为图像和它们的属性指定超像素。

代码语言:javascript
复制
  L = superpixels(A, 200);
    K=regionprops(L, 'PixelIdxList');

我知道每个超像素的平均强度值可指定如下:

代码语言:javascript
复制
K=regionprops(L, 'MeanIntensity')

问题是如何能够指定一个超像素内所有像素的值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-14 16:36:27

获取每个标签中所有像素值的列表的语法是K = regionprops(L, A, 'PixelValues')。但这只适用于灰色值A

最简单的解决方案是在通道上迭代,并为每个通道调用上述函数:

代码语言:javascript
复制
A = imread('~/tmp/boat.tiff'); % whatever RGB image
L = superpixels(A, 200);

n = size(A,3); % number of channels, typically 3
K = cell(max(L(:)),n);
for ii=1:n
   tmp = regionprops(L, A(:,:,ii), 'PixelValues');
   K(:,ii) = {tmp.PixelValues};
end

现在我们有了一个单元格数组K,它包含每个标记像素的值:K{lab,1}是标记为lab的第一个通道像素的一组值。

下面的代码将每个像素的组件整理成一个数组:

代码语言:javascript
复制
K2 = cell(size(K,1),1);
for ii=1:numel(K2)
   K2{ii} = [K{ii,:}];
end

现在,K2包含RGB数据数组:K{lab}是一个Nx3矩阵,每个N个像素的RGB值都被标记为lab

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54678368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档