【问题标题】:Matplotlib - no picture showMatplotlib - 没有图片显示
【发布时间】:2021-08-04 15:34:18
【问题描述】:

我想更改图像的特定部分的颜色,但在 Visual Studio Code 中运行代码不会显示图像;但是,在 replit 中会显示图像。

在代码中,我展示了如何开发一个识别给定点颜色的函数,然后;这个点由用户给定的颜色改变

'#### 更新 [ 我解释我的代码 想象一下,你有一个棋盘。点 (10,10) 属于 A8;然后程序识别该点的颜色,然后将框的颜色更改为给定的颜色。 说明: 给定点是 i 和 j;并且给定的颜色是红色,绿色,蓝色都在函数参数中设置 ]

import sys
sys.setrecursionlimit(100000)
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
def ejercicio(i, j, RED, GREEN, BLUE, imagePath="imagen1.png"):
    
    imagen = Image.open(imagePath)
    punto_color = []
    pixel = imagen.load()
    punto_color.append(pixel[i, j][0])
    punto_color.append(pixel[i, j][1])
    punto_color.append(pixel[i, j][2])
    print(punto_color)

    def color(color):
        if color[0] == punto_color[0] and color[1] == punto_color[1] and color[2] == punto_color[2]:
            return True
        else:
            return False

    def paint(matrix, i, j):
        if color(matrix[i][j]):
            matrix[i][j] = [RED, GREEN, BLUE]
            paint(matrix, i, j - 1)
            paint(matrix, i, j + 1)
            paint(matrix, i + 1, j)
            paint(matrix, i - 1, j)
        else:
            return

    matrix = np.array(imagen)
    paint(matrix, i, j)
    plt.imshow(matrix)
    plt.show()

    return Image.fromarray(matrix)


print(ejercicio(400, 200, 0, 0, 0))

【问题讨论】:

  • 非常快速(和肮脏)的解决方法 - 通常适用于终端和 vscode,试一试 plt.show(block=False) input('press 继续')
  • 不行

标签: python image function matplotlib rgb


【解决方案1】:

我尝试在 Jupyter Notebook 和 VSCODE 上重现代码

这是预期的输出类型吗(给定起始图像)?

如果这是预期的行为,我建议您检查 VS CODE 权限并将文件和图像保存在同一文件夹中。

鉴于预期输出的更多细节,我很乐意进一步检查。

(对图片感到抱歉,双关语不是故意的,从字面上选择了我硬盘上的第一个)

【讨论】:

  • 如果图像改变颜色,那么这是预期的结果。你是怎么做到的?
  • 您好,抱歉,这么晚才回复您;是的,它只是在我作为函数输入值(例如 50,50)给出的坐标中发生变化。我什么也没做,只是将代码粘贴到我的 Python 3.6.5 venv 上。 :)
  • 别担心。不可思议,它对我不起作用
猜你喜欢
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 2017-06-05
  • 1970-01-01
相关资源
最近更新 更多