最近我开始学习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)
运行时的代码不会输出任何输出。
答案 0 :(得分:1)
cv2.imshow
后面应跟waitKey
函数,该函数显示指定毫秒的图像。否则,它将不显示图像。例如,waitKey(0)
将无限显示窗口,直到任何按键(适用于图像显示)。 waitKey(25)
将显示一个25毫秒的帧,之后显示将自动关闭。 (如果你把它放在循环中来阅读视频,它将逐帧显示视频)
只需在返回cv2.waitKey(0)
之前添加img
,然后它就会显示灰度图像