SVP :lol: Comment je pourrai prendre le top et le Bottom de l'image (de même à gauche et à droite) afin de récupérer les pixels au milieu, et supprimer les espaces ?
Version imprimable
SVP :lol: Comment je pourrai prendre le top et le Bottom de l'image (de même à gauche et à droite) afin de récupérer les pixels au milieu, et supprimer les espaces ?
les problème avec mon code c'est que chaque sous-image doit pouvoir être contenue seule dans un rectangle.
sinon on peut se retrouver avec ça:
http://joel-murielle.perso.sfr.fr/Ca...2021:45:29.png
des morceaux les uns dans les autres.
La méthode que j'avais évoquée ne convient pas vu les hypothèses données. Je mets simplement l'image pour ceux qui n'auraient pas fait le lien entre la ligne moyenne et l'image sur laquelle elle est calculée.
Ici, le lien entre les deux saute aux yeux :
http://plx.free.fr/dvp_images/avgrow_image.png
EDIT
sur fond rose pour mieux y voir les marges :
en haut : la ligne moyenne sous forme de graphique
au milieu : la ligne moyenne mode 'L' que j'ai répétée sur 30 lignes pour y voir quelquechose
en bas : l'image origine
les trois calés entre eux en x/colonnes
et un parcours en profondeur ?
tu veux dire détecter les parties très hautes (radiométries élevées, les marges) et les autres (images origine) ?Citation:
Envoyé par josmiley
heuuu ....
genre on fait un masque 1/0 de l'image, on cherche un 1 et tous ses voisins comme dans un démineur, ça fait des groupes genre sous-masques qu'on fait ensuite correspondre à l'image d'origine ... ?
sinon, un essai avec pygame, avec cette image qui contient du bruit
http://www.noupe.com/wp-content/uplo...ondesign10.jpg
on voit que le code parvient à séparer les éléments.
par contre il faut modifier aire_mini pour ne pas perdre des morceaux d'images.
ce n'est pas parfait.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 aire_mini = 10 marge = 10 from pygame import * clk = time.Clock() img = image.load('icondesign10.jpg') col = img.get_at((0,0)) w,h = img.get_size() scr = display.set_mode((w,h)) scr.fill(col) msk = mask.from_threshold(img,col,(marge,marge,marge,marge)) msk.invert() mks = msk.connected_components(aire_mini);print(len(mks),"elements") for m in mks: [scr.set_at((x,y),img.get_at((x,y))) for x in range(w) for y in range(h) if m.get_at((x,y))] display.flip() clk.tick(2) while event.wait().type != QUIT: pass