怎么解决rgb转hsi的反函数问题

def rgbtohsi(rgb_lwpImg):
        cow=rgb_lwpImg.shape[0]
        line=rgb_lwpImg.shape[1]
        (r,g,b) = cv2.split(rgb_lwpImg)
          # 归一化到[0,1]
        b = b / 255.0
        g = g / 255.0
        r = r / 255.0
        num = 0.5 * (r - g + r -g)
        den = np.sqrt(np.power((r-g),2)+np.multiply((r-b),(g-b)))
**        theta = np.arccos(num / (den+0.000000001))**
        H = theta.copy()
        H[den == 0] = 0
        indexH = b >= g
        H[indexH] = 2*3.14169265 - theta[indexH]




        r[r > g] = g[r > g]
        r[r > b] = b[r > b]
        min_RGB = r

        sum = b + g + r
        S = sum.copy()
        indexS = (S != 0)
        S[indexS] = 1 - 3*min_RGB[indexS]/sum[indexS]

        H = H/(2*3.14159265)
        I = sum/3.0
        hsi_lwp = cv2.merge([H*255,S*255,I*255])

        return rgb_lwpImg

报错:RuntimeWarning: invalid value encountered in arccos
theta = np.arccos(num / (den+0.000000001))

你在哪里用arccos这个函数了啊?哦。第11行,这种错误是arccos的参数为90