图像转换功能使用python并打开

时间:2015-11-27 18:14:10

标签: python opencv numpy

最近我开始学习opencv和python进行图像处理。我遇到了编写函数的问题。

我接到了如下任务:

在python中编写一个函数来打开彩色图像并将图像转换为灰度。

你需要编写一个函数color_grayscale(filename,g),它有两个参数:

  a. filename: a color image (Test color image is in folder “Task1_Practice/test_images”. Pick first image to perform the experiment.)

  b. g: an integer

如果g = 1则程序输出应为灰度图像,否则为彩色图像。

我写的代码如下:

import cv2

def color_grayscale(filename,g):

    filename = cv2.imread("a15.jpg")
    " Enter Value of g:"
    if g == 1:
        gray = cv2.cvtColor(filename, cv2.COLOR_BGR2GRAY)
        img = cv2.imshow("gray",gray)
    else:
        img = cv2.imshow("original",filename)
    return(img)

color_grayscale("a15.jpg",1)

运行时的代码不会输出任何输出。

1 个答案:

答案 0 :(得分:1)

cv2.imshow后面应跟waitKey函数,该函数显示指定毫秒的图像。否则,它将不显示图像。例如,waitKey(0)将无限显示窗口,直到任何按键(适用于图像显示)。 waitKey(25)将显示一个25毫秒的帧,之后显示将自动关闭。 (如果你把它放在循环中来阅读视频,它将逐帧显示视频)

只需在返回cv2.waitKey(0)之前添加img,然后它就会显示灰度图像