91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

查閱了多個網站包括github,,沒有一種簡單的實現方法,此版本相對簡單易行,代碼中的圖像是dicom圖像,如有其他圖像的需要,請自行修改

資源截圖

代碼片段和文件信息

#!\Anaconda3\envs\py35?python

#?-*-?coding:?utf-8?-*-
#!@Time???:?2018/6/1?15:39
#!@Author?:?python
#!@File???:?.py



from?operator?import?eq
import?numpy?as?np
import?pydicom?as?dicom
from?skimage.measure?import?label
from?skimage.measure?import?regionprops
from?skimage.morphology?import?thin

import?matplotlib.pyplot?as?plt
import?cv2


def?regiongrowth(orig_image?seed_matrix?threshold):
????“““區域生長算法

????#?Arguments:
????????orig_image:待分割圖像
????????seed_matrix:種子矩陣
????????threshold:生長條件,即待分割圖中的像素值與目標像素值之間的可承受的差值
????#?Returns
????????seg:最終分割后的mask
????????num_region:分割區域的個數

????#?Example
????????regiongrow(orig_image?seed_matrix?50)

????“““
????orig_image?=?np.array(orig_image?dtype=np.float32)?????????????????????????#?將圖像數值格式轉為float

????markers?=?thin(seed_matrix)?????????????????????????????????????????????????#?將種子所在區域縮小為一個點,后面限定區域時使用
????coordinate_nonzero?=?markers.nonzero()??????????????????????????????????????#?當種子為矩陣時,獲取種子點的坐標值
????coordinate_nonzero?=?np.transpose(coordinate_nonzero)???????????????????????#?獲取種子點的坐標值的轉置
????seed_value?=?[]
????for?coordinate_i?in?coordinate_nonzero:
????????seed_value.append(orig_image[coordinate_i[0]?coordinate_i[1]])?????????#?獲取種子點的灰度值

????size_x?size_y?=?orig_image.shape
????seg_image?=?np.array(np.zeros((size_x?size_y))?dtype=bool)????????????????#?初始化一個bool格式的矩陣儲存分割結果

????for?i?each_seed_value?in?enumerate(seed_value):
????????all_satisfied?=?abs(orig_image?-?each_seed_value)?<=?threshold??????????#?所有滿足單個種子點閾值條件的像素點
????????seg_image?=?seg_image?|?all_satisfied???????????????????????????????????#?所有滿足多有種子點閾值條件的像素點

????label_seg_image?=?label(seg_image)??????????????????????????????????????????#?將所有連通區域打label
????area_region?=?regionprops(label_seg_image)??????????????????????????????????#?統計被標記的區域的面積分布,返回值為顯示區域總數

????seg?=?np.array(np.zeros((size_x?size_y))?dtype=np.float32)????????????????#?初始化一個float格式的矩陣儲存分割結果
????for?masker?in?coordinate_nonzero:???????????????????????????????????????????#?提取maskers所在的連通區域
????????for?each_area_region?in?area_region:
????????????for?coord?in?each_area_region.coords:
????????????????if?sum(eq(coord?masker))?==?2:?????????????????????????????????#?若連通區域中包含masker,則保留此連通區域
????????????????????for?idx?in?each_area_region.coords:
?????????????

評論

共有 條評論