CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PYTHON] Artefacts sur image seuillée

ForumeurLibre
ForumeurLibre
Niveau 12
18 décembre 2016 à 20:29:00

Bonsoir, j'ai besoin de faire une fonction de seuillage en Python
Pour faire simple, je filme des fourmis, puis je décompose la vidéo en images. Ensuite je m'intéresse à certaines zones de l'images où les fourmis passent
Sur ces zones je veux compter les fourmis qui passent, pour simplifier cette étape je veux seuiller l'image pour avoir du pixel noir quand c'est la couleur d'une fourmis dans la zone, et du pixel blanc sinon. La fonction de seuillage ci-dessous me laisse des artefacts : des pixels pas tout à fait noirs du genre (14,14,14) au lieu de (0,0,0). Ils sont présents au niveau des endroits où on passe d'un pixel noir à un pixel blanc
Je comprends pas comment c'est possible, vous pouvez m'éclairer ? :question:

ForumeurLibre
ForumeurLibre
Niveau 12
18 décembre 2016 à 20:31:24
from imageio import imread, imsave
from numpy import shape, zeros, uint8
from matplotlib.pyplot import imshow,show
from math import sqrt


import os
Lseuil = os.listdir("Test2/")       #Liste des images seuillées
Limg = os.listdir("VID1/")         #Liste des images à seuiller

def seuillageC(cR, cG, cB, s):      #Classiquement 75,63,65,20
    """cR, cG, cB : couleur de l'élément qu'on souhaite repérer
    On seuille tout un dossier et on stocke dans un nouveau"""
    for k in Limg:
        img = imread("VID1/" +k)
        taille = shape(img)
        nlig = taille[0]
        ncol = taille[1]
        imgSEUIL = zeros((nlig,ncol),uint8)
        for i in range(180,220):
            for j in range(520,580):
                d = sqrt((img[i,j,0]-cR)**2+(img[i,j,1]-cG)**2+(img[i,j,2]-cB)**2)
                if d<s : imgSEUIL[i,j] = 0
                else : imgSEUIL[i,j] = 255
        for i in range(450,550):
            for j in range(510,520):
                d = sqrt((img[i,j,0]-cR)**2+(img[i,j,1]-cG)**2+(img[i,j,2]-cB)**2)
                if d<s : imgSEUIL[i,j] = 0
                else : imgSEUIL[i,j] = 255
        imsave("Test1/imgSeuil" + k, imgSEUIL)
ForumeurLibre
ForumeurLibre
Niveau 12
18 décembre 2016 à 20:31:55

Une précision : la variable "d" correspond à une distance quadratique, avec le "if" qui suit je regarde si la couleur du pixel inspecté ne s'écarte pas de plus de "s" de ma couleur à seuiller

ForumeurLibre
ForumeurLibre
Niveau 12
18 décembre 2016 à 20:34:26

https://image.noelshack.com/fichiers/2016/50/1482089646-imgseuil1-453-jpg-paint-2.jpg
Un exemple du résultat du seuillage

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment