Пример #1
0
def constructMarkers4(request):
    markers = constructMarkers3(request)
    if markers is not None:
        markers = imtransform.setMarkersValues(markers, black=cv2.GC_FGD, gray=cv2.GC_BGD, white=cv2.GC_PR_BGD)
        current_mask = getMask(request)
        if current_mask is not None:
            # set to probable foreground where the mask is white
            markers[(current_mask >= 250) & (markers == cv2.GC_PR_BGD)] = cv2.GC_PR_FGD
        if cv2.GC_FGD not in markers and cv2.GC_PR_FGD not in markers:
            markers[markers == cv2.GC_PR_BGD] = cv2.GC_PR_FGD
    return markers
Пример #2
0
def watershed2(img, markers):
    markers = np.int8(imtransform.setMarkersValues(markers, black=1, gray=-1, white=0))
#    markers2 = np.zeros(markers.shape, np.uint8)
#    markers2[markers == 1] = 0
#    markers2[markers ==-1] = 127
#    markers2[markers == 0] = 255
#    imsave(settings.UPLOAD_FOLDER + '/markers222222.png', markers2)
    greyImg = imtransform.rgb_2_greyscale(img)
    mask = watershed_ift(greyImg, markers)
    mask[mask < 0] = 0
    mask = 255 * mask
    return np.array(mask, dtype=np.uint8)
Пример #3
0
def watershed2(img, markers):
    markers = np.int8(
        imtransform.setMarkersValues(markers, black=1, gray=-1, white=0))
    #    markers2 = np.zeros(markers.shape, np.uint8)
    #    markers2[markers == 1] = 0
    #    markers2[markers ==-1] = 127
    #    markers2[markers == 0] = 255
    #    imsave(settings.UPLOAD_FOLDER + '/markers222222.png', markers2)
    greyImg = imtransform.rgb_2_greyscale(img)
    mask = watershed_ift(greyImg, markers)
    mask[mask < 0] = 0
    mask = 255 * mask
    return np.array(mask, dtype=np.uint8)
Пример #4
0
def constructMarkers4(request):
    markers = constructMarkers3(request)
    if markers is not None:
        markers = imtransform.setMarkersValues(markers,
                                               black=cv2.GC_FGD,
                                               gray=cv2.GC_BGD,
                                               white=cv2.GC_PR_BGD)
        current_mask = getMask(request)
        if current_mask is not None:
            # set to probable foreground where the mask is white
            markers[(current_mask >= 250)
                    & (markers == cv2.GC_PR_BGD)] = cv2.GC_PR_FGD
        if cv2.GC_FGD not in markers and cv2.GC_PR_FGD not in markers:
            markers[markers == cv2.GC_PR_BGD] = cv2.GC_PR_FGD
    return markers