From daeafd9659e5950cdb87d1484b4be1f44f96a757 Mon Sep 17 00:00:00 2001 From: tangchao Date: Tue, 17 May 2022 17:43:27 +0800 Subject: [PATCH] =?UTF-8?q?=EF=BC=881=EF=BC=89=E8=87=AA=E5=B7=B1=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=A5=B1=E5=92=8C=E5=BA=A6=20=EF=BC=882=EF=BC=89?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E4=BA=91=E3=80=81=E8=96=84=E4=BA=91=E3=80=81?= =?UTF-8?q?=E5=A4=A9=E7=A9=BA=E4=BA=91=E9=87=8F=E7=9A=84=E5=9D=87=E5=80=BC?= =?UTF-8?q?=E5=92=8C=E6=A0=87=E5=87=86=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ cloudage.py | 49 +++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 087029a..757d3f3 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ coverage.xml # Sphinx documentation docs/_build/ + + +./photo \ No newline at end of file diff --git a/cloudage.py b/cloudage.py index 56aceb3..4147734 100644 --- a/cloudage.py +++ b/cloudage.py @@ -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)