簡體   English   中英

Python-3,我的程序沒有顯示負面圖像

[英]Python-3, my program doesn't show a negative image

所以我需要按照我教科書中的function,將圖像制作為負片並顯示負片圖像。 我已經嘗試改變一些東西來復制以前的 function 看看這是否會改變任何東西,比如輸入我想要否定的圖像。 它編譯並運行良好,沒有顯示任何錯誤它只是沒有顯示我的圖像的負面影響,所以我不知道是什么問題。

from cImage import *
def negativePixel(oldPixel):
    newRed = 255 - oldPixel.getRed()
    newGreen = 255 - oldPixel.getGreen()
    newBlue = 255 - oldPixel.getBlue()
    newPixel = Pixel(newRed, newGreen, newBlue)
    return newPixel`



def MakeNegative(imageFile):
    oldImage = FileImage(imageFile)
    width = oldImage.getWidth()
    height = oldImage.getHeight()

    myImageWindow = ImageWin("Negative Image", width * 2, height)
    oldImage.draw(myImageWindow)
    newIn = EmptyImage(width, height)

    for row in range(height):
        for col in range(width):
            oldPixel = oldImage.getPixel(col, row)
            newPixel = negativePixel(oldPixel)
            newIn.setPixel(col, row, newPixel)
newIn.setPosition(width + 1, 0)
newIn.draw(myImageWindow)
myImageWindow.exitOnClick()

您的代碼沒有為我編譯或運行; 我修復了一些問題 - 縮進、 import image (不是cImage )、不調用MakeNegative() 、參數亂序等。這對我有用。 我在 Ubuntu 18.04、Python 3.6.9、cImage-2.0.2、Pillow-7.2.0 上。

from image import *
def negativePixel(oldPixel):
    newRed = 255 - oldPixel.getRed()
    newGreen = 255 - oldPixel.getGreen()
    newBlue = 255 - oldPixel.getBlue()
    newPixel = Pixel(newRed, newGreen, newBlue)
    return newPixel



def MakeNegative(imageFile):
    oldImage = FileImage(imageFile)
    width = oldImage.getWidth()
    height = oldImage.getHeight()

    myImageWindow = ImageWin(width * 2, height, "Negative Image")
    oldImage.draw(myImageWindow)
    newIn = EmptyImage(width, height)

    for row in range(height):
        for col in range(width):
            oldPixel = oldImage.getPixel(col, row)
            newPixel = negativePixel(oldPixel)
            newIn.setPixel(col, row, newPixel)

    newIn.setPosition(width + 1, 0)
    newIn.draw(myImageWindow)
    myImageWindow.exitOnClick()

MakeNegative('Lenna_test_image.png')

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM