在图像处理中,常常需要指定位数的图片

当图片的位数不对时,仅是更改图片的后缀名,并不能解决问题。需要将图片的色彩空间转换才可以。

下面这是一段python的用openCV进行色彩变换的程序,可以实现32位的RGBA转24位的RGB

通常RGBA是png的,而RGB是jpg的

在openCV中,需注意RGB这几个参数的顺序要对应好,可能你本身的图片是BGR的顺序,如果不对应好,转变位数后,颜色会发生变化。

程序如下:

import os
import cv2
'''png格式常常是32位的RGBA格式,A代表透明度,
   光是更改图片后缀,不能改变图片的位数,
   需要在openCV中进行色彩空间的转换,
   将png格式的32位RGBA转为jpg格式的24位RGB'''
def convert2jpg(filename):                                      # 将彩色图转灰度图的函数
    img = cv2.imread(file_path+'/'+filename, 1)                 # 1是以彩色图方式去读
    jpg_img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
    cv2.imwrite(out_path + '/' + filename, jpg_img)             # 保存在新文件夹下,且图名中加GRAY
file_path = "C:/Users/lenovo/Desktop/1"                         # 输入文件夹
os.mkdir("C:/Users/lenovo/Desktop/2")                           # 建立新的目录
out_path ="C:/Users/lenovo/Desktop/2"                           # 设置为新目录为输出文件夹
for filename in os.listdir(file_path):                          # 遍历输入路径,得到图片名
    print(filename)
    convert2jpg(filename)
                    在图像处理中,常常需要指定位数的图片当图片的位数不对时,仅是更改图片的后缀名,并不能解决问题。需要将图片的色彩空间转换才可以。下面这是一段python的用openCV进行色彩变换的程序,可以实现32位的RGBA转24位的RGB通常RGBA是png的,而RGB是jpg的在openCV中,需注意RGB这几个参数的顺序要对应好,可能你本身的图片是BGR的顺序,如果不对应好,转变位数后,颜色会发生变化。程序如下:import osimport cv2'''png格式常常是32位的RGBA格式,A代表
import cv2
img2 = Image.open('./Amazing_COL_2Fix.bmp')
img1 = Image.open('./Amazing_RGB_2L.bmp')
# img1 = img1.convert('RGBA')
img2 = img2.convert('RGBA')
pixdata = img2.load()
				
在做语义分割项目时,标注的图片不合标准,而且类型是RGBA型,且是A的部分表示的类别,因此需要将该图片化为RGB图片 # -*- coding:utf8 -*- import os from PIL import Image im = Image.open('123.png')#打开图片 pix = im.load()#导入像素 width = im.size[0]#获取宽度 height = im.size[1]#获取长度 for x in range(width): for y in range(height): r,g,b,a = im.getpixel((x,y)) if image.mode == 'RGBA':         r, g, b, a = image.split()         image = Image.merge("RGB", (r, g, b))         image.save(image_path)     # 1 通道3通道     elif image.mode != 'RGB':
OpenCV轻松入门(面向Python)我们首先要对**RGB,GRAY,HSV和RGBA**色彩空间的概念有大致的了解。欢迎来到梁老湿课堂--学习目录色彩空间的换函数实现颜色提取:提取指定颜色学会几何变换,并且实现图像的几何变换我们下期再见 我们首先要对RGB,GRAY,HSV和RGBA色彩空间的概念有大致的了解。 1.RGB 2.GRAY 3.HSV 4.RGBA RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅
有时候,直接下载遥感影像数据做实验时,在输入网络中,发现维度不对,此时可以点击查看图像的位数,32bit的表示还多出另外的属性,因此需要换。 cv2库中包含了换的功能。 闲言少叙,代码如下。 import os from PIL import Image import cv2 png_path = '/home/cug210/data/Lover/data/cut_org_20_before50000_24bit/test/test_10000/train_test_LR/'
载自:Python图像处理库PIL中图像格式换 对于彩色图像,不管其图像格式是PNG,还是BMP,或者JPG,在PIL中,使用Image模块的open()函数打开后,返回的图像对象的模式都是“RGB”。 而对于灰度图像,不管其图像格式是PNG,还是BMP,或者JPG,打开后,其模式为“L”。 对Image模块的介绍,对于PNG、BMP和JPG彩色图像格式之间的互相换...