我的目标有些模糊,因此我没有可复现的代码。
我想开发一个网络,使用特定类型的灰度图像进行训练,以检测超过一定灰度强度阈值的区域。
我应该如何继续进行?这是否需要使用神经网络?
下面是一些样本图像。最左边的图像是应该呈现的样子,中间的图像是当它发现有一些黑色线条(不是完全黑色,但超过某个灰度强度的阈值)时的样子,最右边的图像是我期望的代码输出结果。
附注:这特别适用于在CT扫描中检测裂缝,裂缝在其他灰度背景中显示为深黑色块/线条
回答:
这非常简单,你绝对不需要使用神经网络来解决这个问题。如果你处理的是灰度图像,并且知道你感兴趣的强度阈值(例如,你允许的强度值最高为3),你只需进行一个简单的阈值操作来识别黑色区域。
这可能也适用于你的CT扫描应用,前提是这些“裂缝”总是非常低的强度。
例如,对于应用了你示例图像中“裂缝”的CT图像,阈值处理这些裂缝的效果会很好(你只会得到一些背景噪声/伪影)。请看以下OpenCV代码片段:
输入:
原始图像来源:www.radiologyinfo.org
输出:
如你所见,这实际上只是三行代码,不要总是假设你必须对所有事情使用神经网络,有时用“老派方法”解决图像处理问题是最好的选择。特别是当问题非常简单时。