图像处理课程作业
处理的照片:
一、处理思路?
由于背景凝胶部分为蓝色,而躯体部分没有蓝色成分。先将rgb图像转化为his图像,将处于蓝色区的像素亮度令为0。这里选 h 在[0.4,0.9]
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
import cv2
2.读入数据
代码如下(示例):
import cv2
import numpy as np
def RGB2HSI(rgb_img):
#保存原始图像的行列数
row = np.shape(rgb_img)[0]
col = np.shape(rgb_img)[1]
#对原始图像进行复制
hsi_img = rgb_img.copy()
#对图像进行通道拆分
B,G,R = cv2.split(rgb_img)
#把通道归一化到[0,1]
[B,G,R] = [ i/ 255.0 for i in ([B,G,R])]
H = np.zeros((row, col)) #定义H通道
I = (R + G + B) / 3.0 #计算I通道
S = np.zeros((row,col)) #定义S通道
for i in range(row):
den = np.sqrt((R[i]-G[i])**2+(R[i]-B[i])*(G[i]-B[i]))
theta = np.arccos(0.5*(R[i]-B[i]+R[i]-G[i])/den) #计算夹角
h = np.zeros(col) #定义临时数组
#den>0且G>=B的元素h赋值为thetha
h[B