python - 无法在 Opencv 中将黑白图像转换为灰度
问题描述
我是opencv的新手,所以不要介意我!
我想将黑白图像转换为灰度图像并使用cv2.imwrite()
. 问题是,在我将其保存到本地驱动器并将其读回后,它以 3 通道图像的形式返回。这里有什么问题?这是我的代码
import cv2
image = cv2.imread("path/to/image/image01.jpg")
print(image.shape) # return (128, 128, 3)
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
print(gray_image.shape) # return (128, 128)
cv2.imwrite("path/to/dir/gray01.jpg", gray_image)
new_gray_img = cv2.imread("path/to/dir/gray01.jpg")
print(new_gray_img.shape) # return (128, 128, 3)
这是我要转换为灰色的图像。
解决方案
cv2.imread默认加载 3 个通道的图像
您可以使用以下代码替换最后两行代码:
new_gray_img = cv2.imread("path/to/dir/gray01.jpg",cv2.CV_LOAD_IMAGE_GRAYSCALE)
print(new_gray_img.shape)
另一种方法是使用scipy加载图像:
from scipy.ndimage import imread
new_gray_image=imread("path/to/dir/gray01.jpg")
推荐阅读
- javascript - 如何将 Javascript 代码从 PHP 文件传递到 JS 文件
- android - 需要通过 ResourcesCompat.getFont 以编程方式设置无法从 Android XML 布局文件(有时)使用的 Google 字体
- apache-spark - 如何在 Spark 中使用 Timestamp/Date 类型的参数创建 UDF
- dialogflow-es - Actions on Google - 在对话流程中不询问输入提示
- html - Web Carousel Control Prev 和 Next 消失了
- algorithm - 计算两位数的可能性
- android - OnDestroy 中的调用方法不起作用
- swift - 将 TableViewController 设置为根视图控制器
- python - TypeError:没有编码的字符串参数
- twilio - Twilio 资源绑定返回“未找到请求的资源 /Services//Bindings”