cv2.imread_grayscale详解
时间: 2023-06-05 09:47:09 浏览: 408
cv2.imread_grayscale是OpenCV中的一个函数,用于读取灰度图像。它的作用是将图像文件加载到内存中,并将其转换为灰度图像格式。这个函数的参数包括图像文件的路径和读取模式。读取模式可以是任何一种OpenCV支持的图像格式,如JPEG、PNG、BMP等。在读取图像时,函数会自动将图像转换为灰度图像格式,并返回一个灰度图像的numpy数组。这个数组可以用于后续的图像处理和分析。
相关问题
cv2.imread第二个参数详解
cv2.imread函数是OpenCV中用于读取图像的函数,它的第二个参数是一个可选的标志,用于指定读取图像的方式。以下是一些常用的标志及其含义:
- cv2.IMREAD_COLOR:默认值,读取彩色图像。图像的透明度会被忽略,即使图像具有alpha通道。
- cv2.IMREAD_GRAYSCALE:以灰度模式读取图像。图像将被解码为单通道,并且将被视为灰度图像。
- cv2.IMREAD_UNCHANGED:读取图像,并且保留所有通道,包括alpha通道(如果有的话)。
这些标志可以单独使用,也可以进行位运算组合使用。例如,如果想同时保留彩色和alpha通道,可以使用 cv2.IMREAD_UNCHANGED | cv2.IMREAD_COLOR。
import cv2 from skimage.io import imsave import glob # 有助于文件的遍历 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['simhei'] # 添加中文字体为简黑 plt.rcParams['axes.unicode_minus'] =False import os # In[2]:图像处理 # (1)获取指定文件夹的图像文件名列表 str1 = '01ImagesIN/' str2 = '01ImagesOUT/' img_list = glob.glob(str1 + '*.png') img_list = img_list + glob.glob(str1 + '*.jpg') img_list = img_list + glob.glob(str1 + '*.jpeg') # (2)遍历文件名列表的每个文件 for i, img_path in enumerate(img_list): # A.以灰度模式读取原始图像、可视化 # cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。 # cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。 # cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1 print('%d----'%(i+1), img_path) (filepath,tempfilename) = os.path.split(img_path) (Myfilename,extension) = os.path.splitext(tempfilename) # 分离文件名的后缀 # ===后面会使用分离出的文件名Myfilename,生成其它的文件名 imgIn = cv2.imread(img_path) plt.figure(figsize = (10,10)) plt.imshow(imgIn) plt.title('输入图像--'+ Myfilename, size = 20) plt.xticks([]) plt.yticks([]) plt.show() # 将该图像转存为至其它位置,文件名是在Myfilename基础上产生的 imsave(str2+ Myfilename +'_out.jpeg',imgIn )的详解
这段代码主要是导入了OpenCV和scikit-image库中的一些函数和模块,以便在Python程序中使用它们。
其中,import cv2语句用于导入OpenCV库,该库是一个广泛应用的计算机视觉库,提供了丰富的图像处理、分析和机器学习功能。
从skimage.io模块中导入了imsave函数,该函数用于保存图像。glob模块则用于匹配文件路径,可以帮助程序自动批量处理多个文件。