From 5645ebc7d3e0471ab143d5fb011d20d747d004ae Mon Sep 17 00:00:00 2001 From: wonder Date: Sun, 2 Nov 2025 13:35:03 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=94=84Update:=20[Lab-1]=20RGB=20?= =?UTF-8?q?=E9=80=9A=E9=81=93=E5=88=86=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lab-1/src/rgb_img.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Lab-1/src/rgb_img.py diff --git a/Lab-1/src/rgb_img.py b/Lab-1/src/rgb_img.py new file mode 100644 index 0000000..ed3035d --- /dev/null +++ b/Lab-1/src/rgb_img.py @@ -0,0 +1,34 @@ +import cv2 +from read_img import read_img + +def show_img_rgb(path): + inner_img = read_img(path) + + # 检查通道数 + if len(inner_img.shape) == 3: + channels = inner_img.shape[2] + if channels == 4: + print("图像是四通道(RGBA)") + # 分离RGBA通道 + b, g, r, a = cv2.split(inner_img) + cv2.imshow('Blue', b) + cv2.imshow('Green', g) + cv2.imshow('Red', r) + cv2.imshow('Alpha', a) + elif channels == 3: + print("图像是三通道(BGR)") + b, g, r = cv2.split(inner_img) + cv2.imshow('Blue', b) + cv2.imshow('Green', g) + cv2.imshow('Red', r) + else: + print(f"图像是{channels}通道") + else: + print("图像是单通道(灰度图)") + cv2.imshow('Grayscale', inner_img) + + cv2.waitKey(0) + cv2.destroyAllWindows() + +if __name__ == '__main__': + show_img_rgb('../img/1.jpeg') \ No newline at end of file