【问题标题】:How to find maximum pixel intensity of the two regions obtained after finding the threshold of the image找到图像的阈值后如何找到两个区域的最大像素强度
【发布时间】:2015-04-23 23:37:09
【问题描述】:

我们正在进行 DIP 项目,我们在该项目中找到了灰度图像的阈值。现在我们必须*找到我们得到的两个区域的最大强度,一个区域的像素小于阈值,另一个区域的像素大于阈值。 * PS。找到阈值后,我们不会将图像转换为二值图像。我们只需要分离两个区域中的像素并找到每个区域中的最大强度 PS:我们正在开发 MATLAB

【问题讨论】:

  • 如何逐像素检查图像,然后使用 if 语句搜索每个区域的最大值?
  • 这是一个很好的问题,但是您使用的是什么语言?什么平台?请更新您问题中的标签。
  • 我得到了最大强度。谢谢。!我必须找到我得到的两个最大值的坐标。但由于我在 maxAbove 和 maxBelow 处有多个值,所以我没有得到一个特定的坐标,而是得到一个坐标向量。我只想要一个特定的坐标。怎么做?我正在研究 matlab。

标签: matlab image-processing grayscale threshold


【解决方案1】:

其实做起来很简单。

这是一个这样做的函数:

function [ lowThrMaxIntns, highThrMaxIntns ] = FindMaxIntnesity ( mInputImage, thrLevel )

% Pixels which are lower than the threshold level
mLowThrImage    = zeros(size(mInputImage));
% Pixels which are higher than the threshold level
mHightThrImage  = zeros(size(mInputImage));

mLowThrImage(mInputImage < thrLevel)    = mInputImage(mInputImage < thrLevel);
mHightThrImage(mInputImage >= thrLevel) = mInputImage(mInputImage >= thrLevel);

[lowThrMaxIntns lowThrMaxIntnsIdx]      = max(mLowThrImage(:));
[highThrMaxIntns highThrMaxIntnsIdx]    = max(mHightThrImage(:));

end

输出只是像素的强度。
如果您需要像素位置,请使用Idx 变量(使用ind2sub 作为子脚本表单)。

【讨论】:

  • 谢谢!我得到了最大和最小强度。但问题是有不止一个坐标具有特定的最大强度。但我只需要一个坐标即可。 PS:我的项目是这样的,我必须在我从灰度图像中获得的最大值的两个坐标处找到原始图像的像素强度。 @drazick
  • 没看懂,是不是代码有问题?
  • 嘿! @Drazick。我得到了代码工作。谢谢。不,代码没有问题。再次感谢.. :)
  • @ShrishtiDeep,所以请将问题标记为已回答。谢谢。
  • 顺便说一句,加入我们的图像处理专用论坛:area51.stackexchange.com/proposals/66531/computer-vision 只需对低投票(少于 10 个)的问题进行投票。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
相关资源
最近更新 更多