Mam kolorowe zdjęcie jabłka, jak mogę pokazać tylko jego zarys (wewnątrz biały, tło czarne) z python/PIL?Kontur obrazu za pomocą python/PIL
Odpowiedz
Coś takiego powinno działać.
from PIL import Image, ImageFilter
image = Image.open('your_image.png')
image = image.filter(ImageFilter.FIND_EDGES)
image.save('new_name.png')
Jeżeli to nie daje rezultatu, którego szukasz następnie spróbuj wykonawczych albo Prewitt wykrywanie krawędzi, wykrywanie krawędzi Sobel lub canny za pomocą PIL i Python i innych bibliotek zobacz sekcję question oraz następujące example .
Jeśli próbujesz zrobić detekcji cząstek/analizy, a nie tylko krawędzi wykrywania, można spróbować użyć py4ij wywołać metodę ImageJ połączyć dać się spodziewać tego samego rezultatu, lub spróbować innej biblioteki Particle Analiza Pythona EMAN przemian cię umie napisać algorytm detekcji cząstek za pomocą PIL, SciPy i NumPy.
Witam, Zdjęcia są w kolorze, a nawet gdy skaluję je na szaro i uruchamiam filtry, to nie działa dobrze, ponieważ chcę tylko obrysu kształtu jabłka, czy to możliwe? To jest coś podobnego do metody imageJ opisanej w rsbweb.nih.gov/ij/docs/pdfs/examples.pdf. Dzięki – user1212200
@ Appleman1234, dziękuję bardzo za odniesienie do mojego postu. Hej, możesz zaimportować moduły wykrywania krawędzi i uruchomić je, aby znaleźć same krawędzie. Dane wyjściowe będą numpy ndarray, ale można przekonwertować na obraz PIL za pomocą im = Image.fromarray (imarray) – Vishwanath
@Appleman jest możliwe, aby podzielić obraz na komponenty na podstawie FIND_EDGES? – user1658296
Jeśli obiekt i tło są dość dobrze kontrastują
from PIL import Image
image = Image.open(your_image_file)
mask=image.convert("L")
th=150 # the value has to be adjusted for an image of interest
mask = mask.point(lambda i: i < th and 255)
mask.save(file_where_to_save_result)
jeśli wyższy kontrast jest w jeden (z 3 kolorów), można podzielić obraz na pasmach zamiast przekształcenie go w skali szarości.
Jeżeli zdjęcie lub tło jest dość skomplikowane, bardziej wyrafinowane przetwarzanie będą wymagane
- 1. Wyodrębnij zewnętrzny kontur lub sylwetkę obrazu w Pythonie
- 2. Kadrowanie obrazu za pomocą C#
- 3. obracanie obrazu za pomocą css
- 4. Pokazywanie obrazu za pomocą pylab.imshow()
- 5. Obracanie obrazu za pomocą css
- 6. Zapisywanie obrazu za pomocą mangusty
- 7. IE7 BUTTON biały kontur
- 8. Zezwalaj/odmawiaj hotlinkowania obrazu za pomocą .htaccess
- 9. Jak zapisać obraz za pomocą obrazu django?
- 10. Pokazywanie obrazu ładującego za pomocą getJSON
- 11. Zmiana obrazu podczas animacji za pomocą scenorysu
- 12. Uzyskiwanie atrybutu href obrazu za pomocą Javascriptu
- 13. wyświetlania obrazu za pomocą ashx Handler
- 14. Przesunięcie zawartości obrazu za pomocą OpenCV
- 15. Zmiana koloru obrazu za pomocą imagemagick
- 16. Zapisywanie obrazu/pliku za pomocą powłoki django
- 17. CSS przezroczyste tło obrazu za pomocą „danych:”
- 18. Udostępnianie dynamicznie generowanego obrazu za pomocą Django
- 19. Jak uzyskać nazwę obrazu za pomocą jQuery?
- 20. Ustawianie położenia obrazu za pomocą iTextSharp
- 21. Zmiana rozmiaru obrazu warunkowego za pomocą Carrierwave
- 22. Jak zamazać część obrazu za pomocą JAVA
- 23. Obracanie obrazu tła za pomocą CSS3
- 24. Erozja obrazu i rozszerzenie za pomocą Scipy
- 25. Blur graniczy z obrazu za pomocą CSS
- 26. Przesyłanie obrazu postępów za pomocą URLLoader AS3
- 27. Dekodowanie obrazu binarnego JPEG2000 za pomocą Javascriptu
- 28. Powiązanie źródła obrazu za pomocą właściwości wpf
- 29. Zmiana rozmiaru obrazu za pomocą C#
- 30. Zapisywanie obrazu za pomocą Mechanize i Nokogiri?
Dołącz jakiś przykładowy obraz oczekiwanego wejścia. – mmgp