(1)自己计算饱和度

(2)计算云、薄云、天空云量的均值和标准差
This commit is contained in:
2022-05-17 17:43:27 +08:00
parent 739d8bd16c
commit daeafd9659
2 changed files with 44 additions and 8 deletions

3
.gitignore vendored
View File

@ -42,3 +42,6 @@ coverage.xml
# Sphinx documentation
docs/_build/
./photo

View File

@ -49,9 +49,22 @@ def f3(image_path):
img = cv2.imread(image_path)
b, g, r = cv2.split(img)
# # 转到HSV空间
# hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# h, s, v = cv2.split(hsv)
# 自己计算饱和度-----> 失败:计算的饱和度不对,是负值
ones = np.ones_like(b)
sum = b + g + r
min_b_g_r = np.zeros_like(b)
for x in range(b.shape[0]):
for y in range(b.shape[1]):
minValue = min(b[x, y], g[x, y], r[x, y])
min_b_g_r[x, y] = minValue
tmp = (3/sum)*min_b_g_r
s_tc = ones - tmp
# 转到HSV空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h1, s1, v1 = cv2.split(hsv)
# 转到HLS空间
hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS) # 这就是ihs颜色空间
@ -81,9 +94,29 @@ def f3(image_path):
cv2.destroyAllWindows()
def jisuan(image_path):
img = cv2.imread(image_path)
hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS) # 这就是ihs颜色空间
h, l, s = cv2.split(hls)
mean = np.mean(s)
var = np.var(s)
print("均值为:%f\n" % mean)
print("方差为:%f\n" % var)
if __name__ == '__main__':
image_path = r'D:\PycharmProjects\cloudage\photo\photo7.jpg'
# image_path = r'D:\PycharmProjects\cloudage\photo\cloud1_perfect.jpg' # f3全为天空
f1(image_path)
f2(image_path)
f3(image_path)
train_image_path1 = r'D:\PycharmProjects\cloudage\train\sky.jpg'
train_image_path2 = r'D:\PycharmProjects\cloudage\train\cloude.jpg'
train_image_path3 = r'D:\PycharmProjects\cloudage\train\light cloud.jpg'
jisuan(train_image_path1)
jisuan(train_image_path2)
jisuan(train_image_path3)
# image_path = r'D:\PycharmProjects\cloudage\photo\photo12.jpg'
# # image_path = r'D:\PycharmProjects\cloudage\photo\cloud1_perfect.jpg' # f3全为天空
# # f1(image_path)
# # f2(image_path)
# f3(image_path)