Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -342,7 +342,7 @@ def plt_to_image():
|
|
342 |
img = Image.open(buf)
|
343 |
return img
|
344 |
|
345 |
-
def calculate_slice_statistics(one_mask, slice_size=
|
346 |
"""计算每个切片的材质占比"""
|
347 |
num_rows, num_cols = one_mask.shape[0] // slice_size, one_mask.shape[1] // slice_size
|
348 |
slice_stats = {}
|
@@ -386,7 +386,7 @@ def find_top_slices(slice_stats, exclusion_list, min_percent=0.7, min_slices=1,
|
|
386 |
|
387 |
return valid_top_slices
|
388 |
|
389 |
-
def extract_and_visualize_top_slices(image, top_slices, slice_size=
|
390 |
fig, axs = plt.subplots(nrows=len(top_slices), ncols=3, figsize=(15, 5 * len(top_slices)))
|
391 |
image=Image.fromarray(image)
|
392 |
if len(top_slices) == 1:
|
@@ -436,7 +436,7 @@ def process_image(image_path):
|
|
436 |
# 重新命名 DataFrame 为 percentage_df 以清楚表达其内容
|
437 |
percentage_df = counts_df.rename(columns={'计数': 'pixels', '百分比': 'percentage (%)'})
|
438 |
|
439 |
-
slice_size =
|
440 |
exclusion_list = [38]
|
441 |
slice_stats = calculate_slice_statistics(one_mask, slice_size=slice_size)
|
442 |
top_slices = find_top_slices(slice_stats, exclusion_list=exclusion_list, min_percent=0.5, min_slices=1)
|
|
|
342 |
img = Image.open(buf)
|
343 |
return img
|
344 |
|
345 |
+
def calculate_slice_statistics(one_mask, slice_size=256):
|
346 |
"""计算每个切片的材质占比"""
|
347 |
num_rows, num_cols = one_mask.shape[0] // slice_size, one_mask.shape[1] // slice_size
|
348 |
slice_stats = {}
|
|
|
386 |
|
387 |
return valid_top_slices
|
388 |
|
389 |
+
def extract_and_visualize_top_slices(image, top_slices, slice_size=256):
|
390 |
fig, axs = plt.subplots(nrows=len(top_slices), ncols=3, figsize=(15, 5 * len(top_slices)))
|
391 |
image=Image.fromarray(image)
|
392 |
if len(top_slices) == 1:
|
|
|
436 |
# 重新命名 DataFrame 为 percentage_df 以清楚表达其内容
|
437 |
percentage_df = counts_df.rename(columns={'计数': 'pixels', '百分比': 'percentage (%)'})
|
438 |
|
439 |
+
slice_size = 256
|
440 |
exclusion_list = [38]
|
441 |
slice_stats = calculate_slice_statistics(one_mask, slice_size=slice_size)
|
442 |
top_slices = find_top_slices(slice_stats, exclusion_list=exclusion_list, min_percent=0.5, min_slices=1)
|