如何用Python+OpenCV将图像转为灰度图?现有代码未生效求助
解决OpenCV图像转灰度图不生效的问题
你的代码已经执行了灰度转换操作,但没有展示转换后的结果——你调用cv2.imshow时传入的还是原始彩色图像img,所以看起来灰度转换没生效。
修正方法很简单:
- 将
cv2.imshow的第二个参数替换为转换后的灰度图变量grayscaled_img - 建议在
cv2.waitKey()后加上cv2.destroyAllWindows(),避免程序退出后窗口残留
修正后的代码:
import cv2 # 加载图像 img = cv2.imread('RDJ.png') # 转换为灰度图 grayscaled_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 显示灰度图 cv2.imshow('Grayscale Face Detector', grayscaled_img) cv2.waitKey() cv2.destroyAllWindows()
如果需要同时查看原图和灰度图,可以多调用一次cv2.imshow,给不同窗口命名即可:
import cv2 img = cv2.imread('RDJ.png') grayscaled_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('Original Image', img) cv2.imshow('Grayscale Image', grayscaled_img) cv2.waitKey() cv2.destroyAllWindows()
内容的提问来源于stack exchange,提问作者Zach
相关产品推荐
相关产品推荐

