# assignment2_homework **Repository Path**: hydrogen-elements/assignment2_homework ## Basic Information - **Project Name**: assignment2_homework - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-13 - **Last Updated**: 2025-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数字图像处理实验一:图像基础操作 ## 环境要求 - Python 3.x - OpenCV (cv2) - NumPy - Pillow (PIL) - Matplotlib ## 文件说明 - `assignment2_homework.ipynb`: 主要的实验代码文件 - `earth.jpg`: 地球图片样本 - `galaxy-full.jpg`: 星系图片样本 - `x.jpg`: 测试用图片样本 ## 代码示例说明 ### 1. 图像上半部分处理 实现了对图像上半部分的黑色像素检测和颜色替换: - 使用阈值 [30, 30, 30] 检测黑色像素 - 将检测到的黑色像素替换为红色 ### 2. 图像左半部分处理 针对图像左半部分进行像素处理: - 检测左半部分的黑色像素 - 实现颜色替换功能 ### 3. 图像左上四分之一处理 对图像左上角1/4区域进行特定处理: - 黑色像素检测 - 颜色替换实现 ### 4. 小区域像素处理 实现了4x4和8x8像素的中心区域处理: - 4x4区域的黑色像素检测和替换 - 8x8区域的黑白像素检测和颜色替换 ### 5. 指定区域颜色处理 针对特定区域进行颜色处理: - 自定义区域选择 - 像素颜色判断和替换 ### 6-8. 星系图像颜色通道处理 实现了三个颜色通道的分离处理函数: - `convert_to_red_image()`: 红色通道提取 - `convert_to_green_image()`: 绿色通道提取 - `convert_to_blue_image()`: 蓝色通道提取 ### 9. 条纹效果处理 创建自定义条纹图案: - 实现红、绿、蓝三色交替的条纹效果 - 可调节条纹宽度和间隔 - 支持显示坐标信息 ## 使用方法 1. 图像读取与显示: ```python img = cv2.imread('x.jpg') plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.axis('off') plt.show() ``` 2. 颜色通道处理: ```python # 处理红色通道 convert_to_red_image('galaxy-full.jpg') # 处理绿色通道 convert_to_green_image('galaxy-full.jpg') # 处理蓝色通道 convert_to_blue_image('galaxy-full.jpg') ``` 3. 条纹效果生成: ```python # 设置条纹参数 stripe_width = 1 stripe_interval = 2 ``` ## 学习要点 1. 图像基础操作 - OpenCV 图像读取与显示 - 图像颜色空间转换(BGR 与 RGB) - Matplotlib 可视化技巧 2. 像素处理技术 - 像素值的访问与修改 - 颜色阈值的设定与使用 - 区域选择与处理 3. 图像通道操作 - RGB 通道的分离与合并 - 单通道图像处理 - 图像大小调整 4. 图像生成技术 - 条纹图案的数学原理 - 像素坐标计算 - 色彩搭配与渐变