【问题标题】:Image Operations with Python使用 Python 进行图像操作
【发布时间】:2020-11-08 09:13:30
【问题描述】:

希望你们一切都好!

我是图像处理的新手,所以我想在这里为我的简单问题道歉。我目前正在研究一个问题,该问题涉及将名为 jet 的对象分类为两个已知类别。该对象由子对象组成。我的想法是使用这些子对象来转换像素图像中的每个喷射,然后应用卷积神经网络来寻找模式。

以下是像素图像的示例: jet's constituents pixel distribution

为了标准化所有图像,我想找到两个最强烈的像素,并确保连接它们的轴在垂直方向,并确保最强烈的像素位于顶部。最好强制图像的一侧(左侧或右侧)包含大部分强度并将整个图像的强度归一化为 1。

我的问题是:由于我是这种处理的新手,我不知道 Python 中是否有可以处理这些操作的库。你知道吗?

PS:图片取自这里:https://arxiv.org/abs/1407.5675

【问题讨论】:

    标签: python image-processing conv-neural-network


    【解决方案1】:

    通常,在 Python 中,我们使用 PIL 库对图像进行基本操作,使用 OpenCV 进行高级操作。

    但是,如果正确理解您的任务,您可以将图像视为多维数组并使用numpy 对其进行操作。

    例如,如果您的图像存储在一个名为 img 的 numpy.array 类型变量中,您只需编写以下代码即可找到所需轴的最大值:

    img.max(axis=0)
    

    要标准化图像,您可以使用:

    img /= img.max()
    

    要找出哪个图像部分更亮,您可以将img 数组拆分为所需的部分并计算它们的平均值:

    left = img[:, :int(img.shape[1]/2), :]
    right = img[:, int(img.shape[1]/2):, :]
    left_mean = left.mean()
    right_mean = right.mean()
    
    

    【讨论】:

      【解决方案2】:

      您可以查看 Python 的 OpenCV 库: https://docs.opencv.org/master/d6/d00/tutorial_py_root.html。 它支持很多图像处理功能。

      在您的情况下,将图像转换为更合适的颜色空间可能会更容易,其中一个轴代表颜色强度(例如 HSI、HSL、HSV)并尝试沿着该轴找到最大值的索引(这应该返回图像中强度最高的像素)。

      【讨论】:

        猜你喜欢
        • 2023-03-25
        • 2021-12-04
        • 2012-10-27
        • 2013-09-08
        • 2013-06-04
        • 2019-08-28
        • 1970-01-01
        • 1970-01-01
        • 2016-11-16
        相关资源
        最近更新 更多