Compare commits

..
3 Commits
Author SHA1 Message Date
wonder f2aa426d7f 📝Docs: [Lab-1] Completed 2025-11-02 13:36:05 +08:00
wonder 5645ebc7d3 🔄Update: [Lab-1] RGB 通道分离 2025-11-02 13:35:03 +08:00
wonder ee7fbfd13b 🔄Update: [Lab-1] numpy 图片复制 2025-11-02 13:24:48 +08:00
3 changed files with 71 additions and 1 deletions
+16
View File
@@ -0,0 +1,16 @@
import cv2
import numpy as np
from read_img import read_img
from show_img import show_img
def copy_img(inner_img):
new_img = np.zeros(inner_img.shape, np.uint8)
new_img[:] = inner_img
return new_img
if __name__ == '__main__':
img = read_img('../img/1.jpeg')
# print(img)
img2 = copy_img(img)
# print(img2)
show_img(img2)
+34
View File
@@ -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')
+21 -1
View File
@@ -2,4 +2,24 @@
🧐 2025 秋季 计算机视觉实验 🧐 2025 秋季 计算机视觉实验
- **实验一** 基于 Python 的 opencv 数字图像处理的函数 ## **实验一** 基于 Python 的 opencv 数字图像处理的函数
### 使用python-opencv中的imread函数载入图片;
`Lab-1/src/read_img.py`
### 使用python-opencv中的imshow和waitKey函数显示图片;
`Lab-1/src/show_img.py`
### 使用python-opencv中的imwrite函数保存图像;
`Lab-1/src/save_img.py`
### 创建和复制图像;
`Lab-1/src/copy_img.py`
### RGB三通道分离并显示。
`Lab-1/src/rgb_img.py`