Giter VIP home page Giter VIP logo

Comments (5)

benji2264 avatar benji2264 commented on September 1, 2024 1

Hi @mattyamonaca, you can already do it with exactly the same code as SAM :)

from segment_anything import SamPredictor, sam_model_registry, SamAutomaticMaskGenerator

# Read image
image = cv2.imread("dog.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# Load HQ-SAM
sam_checkpoint = "sam_hq_vit_h.pth"
model_type = "vit_h"
device = "cuda"
sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)
sam.to(device=device)

# Generate segmentation
mask_generator = SamAutomaticMaskGenerator(sam)
masks = mask_generator.generate(image)

This gives you a list of masks. Each mask is a dictionary for which the "segmentation" key gives you a boolean segmentation mask. You can visualize them with the show_anns() function provided by SAM:

def show_anns(anns):
    if len(anns) == 0:
        return
    sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True)
    ax = plt.gca()
    ax.set_autoscale_on(False)

    img = np.ones((sorted_anns[0]['segmentation'].shape[0], sorted_anns[0]['segmentation'].shape[1], 4))
    img[:,:,3] = 0
    for ann in sorted_anns:
        m = ann['segmentation']
        color_mask = np.concatenate([np.random.random(3), [0.35]])
        img[m] = color_mask
    ax.imshow(img)

plt.figure(figsize=(12,7))
plt.imshow(image)
show_anns(masks)
plt.axis('off')
plt.show() 

from sam-hq.

benji2264 avatar benji2264 commented on September 1, 2024 1

Hi @SuroshAhmadZobair, thank you for pointing this out, it should work now :) I had forgot to call the generate() function

from sam-hq.

mattyamonaca avatar mattyamonaca commented on September 1, 2024

Thanks!

from sam-hq.

SuroshAhmadZobair avatar SuroshAhmadZobair commented on September 1, 2024

Hi
Thanks for the scrip @benji2264 .
When i run the code in jupyter, i get the following error:

TypeError: 'SamAutomaticMaskGenerator' object is not callable
any insight?
cheers!

from sam-hq.

ymq2017 avatar ymq2017 commented on September 1, 2024

Thanks! We also provide a notebook now.

from sam-hq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.