首页 > 解决方案 > Matplotlib - 没有图片显示

问题描述

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

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

'#### 更新 [ 我解释我的代码假设你有一个棋盘。点 (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))

标签: pythonimagefunctionmatplotlibrgb

解决方案


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

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

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

鉴于有关预期输出的更多详细信息,我很乐意进一步检查。

(大声笑对不起图片,双关语不是故意的,从字面上选择了我硬盘上的第一个)

在此处输入图像描述


推荐阅读