【问题标题】:Matlab image processingMatlab图像处理
【发布时间】:2014-06-01 10:39:47
【问题描述】:

我在图像上放置了一个滑动窗口。如果窗口中的平均强度低于 200,那么我需要丢弃这个窗口并将所有平均强度高于 200 的窗口合并。

谁能向我解释如何在图像中组合某些窗口? 我曾尝试将每个窗口的强度裁剪为 200 以上,但我真的不确定从这里去哪里。无法在线找到任何链接或帮助。

在 if 语句中,是否可以只创建一个新的图像矩阵并将裁剪后的图像添加到其中?例如

%for loop for sliding window code here 

  if (average>200) 
   windowCrop=imcrop(imgWindow);
   imgNew=windowCrop + windowCrop

  end %end if 
end %end for 

谢谢

【问题讨论】:

  • 看看函数nlfilter

标签: matlab image-processing


【解决方案1】:

使用带有滑动选项的 im2col 获取块,进行阈值处理以将均值低于 200 的块设置为零,然后合并所有块。

代码可以是这样的:

A=imread('cameraman.tif');BlockDim=[8 8];

B=im2col(double(A),BlockDim,'sliding');

ValidBlockIndices=find(mean(B)>200); TotalBlockSum=zeros(prod(BlockDim),1);

for i=ValidBlockIndices TotalBlockSum=TotalBlockSum+B(:,i); end;

【讨论】:

  • 你能提供一些链接或代码来实现这个吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多