【问题标题】:Image conversion Function using python and open图像转换函数使用python并打开
【发布时间】:2015-11-27 18:14:09
【问题描述】:

最近我开始学习 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)

运行时的代码没有任何输出。

【问题讨论】:

  • 你返回 img 但不要对它做任何事情......

标签: python opencv numpy


【解决方案1】:

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

在返回img之前添加cv2.waitKey(0)就可以显示灰度图了

【讨论】:

  • 感谢您的建议,实际任务是接受g的值,然后打印灰度图像或普通图像。当我运行上述 prg.显示灰度图像。您能否建议我如何接受 g 的值,然后相应地显示 img。我也必须接受来自用户的“ffilename”。怎么办?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-01
  • 2020-01-10
  • 2019-06-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-02
  • 2012-11-04
相关资源
最近更新 更多