Şimdi Ara

Vb.net Resim karşılarştırma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
9
Cevap
0
Favori
1.040
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Herkes Bu Resmin Küçük Halini görünce Aynı gibi görürü ama Bixellerine Kadar Büyütünce Programsal olarak birbirinin kopyası değil.

    Ben şimdi 1 resmin benzerini yani yanındaki resme eşit olduğunu nasıl ıspatlayabilirim.

    Bir resmin benzerini bulmak yani

     Vb.net Resim karşılarştırma



  • biraz karışık oldu ama lafın kısası Ekranda 30 tane bu resimden var he hepsi birbirinin aynısı değil ben bir resmin benzerini bulmak istiyorum
  • Tüm piksel renklerini diziye atıp diğer resimlerdeki piksellerle karsilastirabilirsin

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: bersgurs

    Tüm piksel renklerini diziye atıp diğer resimlerdeki piksellerle karsilastirabilirsin

    Evet Zaten O şekilde Ekran görüntüsünü Tarıyorum Ama Görüldüğü gibi Aranan Resimden 30 tane olduğu halde 1 resim çıkıyor. Yani resimler Tam Tamına Aynı Değil! Halbuki 29 tane daha var bir rengin tonunun farklı olması uyumsuzluk için yeterli
  • Bi mesajında ne diyosun diğerin başka bişey söylüyon. Birebir aynı mı olmasını istiyosun yoksa benzeri mi olması gerekli. Benzerini bulman daha zor aynısı bulmandan. RGB'de +10/-10 toleransla bi dene belki çalışır. Yani rgb'yi karşılaştırıken 1.resmin x:1y:1'deki pixelinin r'si atıyorum 50 ise benzer olması için 2.resmin x:1y:1'deki pixelinin r'sinin 40 la 60 arası olması gerekiyor. Bu yöntemi dene kesin işe yarar demiyorum ama. Çünkü rgb'de doğrudan her renk kanalı bi anlam taşımıyo. üçünü birlikte değerlendirmek daha doğru olabilir. Eğer olmazsa tolerans değerini arttırarar denersin. Oda olmadı image procesing konusuna baq.
  • quote:

    Orijinalden alıntı: hasan1980125

    Bi mesajında ne diyosun diğerin başka bişey söylüyon. Birebir aynı mı olmasını istiyosun yoksa benzeri mi olması gerekli. Benzerini bulman daha zor aynısı bulmandan. RGB'de +10/-10 toleransla bi dene belki çalışır. Yani rgb'yi karşılaştırıken 1.resmin x:1y:1'deki pixelinin r'si atıyorum 50 ise benzer olması için 2.resmin x:1y:1'deki pixelinin r'sinin 40 la 60 arası olması gerekiyor. Bu yöntemi dene kesin işe yarar demiyorum ama. Çünkü rgb'de doğrudan her renk kanalı bi anlam taşımıyo. üçünü birlikte değerlendirmek daha doğru olabilir. Eğer olmazsa tolerans değerini arttırarar denersin. Oda olmadı image procesing konusuna baq.

    Tıpkısının Aynısını bulabiliyorum ama Benzerini bulmam gerekli

    Ben Lockbit i kullanrak çok hızlı tarıyorum.Getpixel setpixel çok yavaş.o yüzden bu yönrtemi kullanıyorum

    Sizce Byte cinsinden Karşılaştırılan bir veriyi Tolreansını nasıl azaltıp arttırabilirim
    Eğer bilmiyorsanız hergangi bir tolerans yöntemide olur


    dim arananresim, Screencapture as bitmap 

    Dim bm_bytes As New BitmapBytesRGB24(Screencapture)
    Dim bm_bytes2 As New BitmapBytesRGB24(arananresim)

    bm_bytes.LockBitmap()' Gerekli kod modülde Var
    bm_bytes2.LockBitmap()


    For ia As Integer = 0 To mybitmap.Height * bm_bytes.RowSizeBytes

    If bm_bytes.ImageBytes(ia) = bm_bytes2.ImageBytes(0) Then

    ' eğer Aranan Resimin ilk parçası bulunursa Burdan Diğer kısmı tarayacak


    end if


    Next ia


    bm_bytes.unLockBitmap()
    bm_bytes2.unLockBitmap()




  • Önce her bir kanal için tek tek bak. Yani karşılaştıracağın resim B olsun. Karşılaştırdığın A.

    (A.pixel[0,0].R > B.pixel[0,0].R - tolerans) VE (A.pixel[0,0].R < B.pixel[0,0].R + tolerans) ise bu koşul senin benzerlik kriterini doğruluyor diye varsaycaksın. Tabi bunu bütün pixellerde ve bütün kanallarda yapman gerek. Bu yöntem her durumda işe yaramayabilir. Bunu test ettikten sonra eğer olmazsa scalar olarak bak. Oda olmadı image processing konusu var. O kesin çözüm olmakla birlikte bi hayli zordur.
    Kolay gelsin.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: hasan1980125

    Önce her bir kanal için tek tek bak. Yani karşılaştıracağın resim B olsun. Karşılaştırdığın A.

    (A.pixel[0,0].R > B.pixel[0,0].R - tolerans) VE (A.pixel[0,0].R < B.pixel[0,0].R + tolerans) ise bu koşul senin benzerlik kriterini doğruluyor diye varsaycaksın. Tabi bunu bütün pixellerde ve bütün kanallarda yapman gerek. Bu yöntem her durumda işe yaramayabilir. Bunu test ettikten sonra eğer olmazsa scalar olarak bak. Oda olmadı image processing konusu var. O kesin çözüm olmakla birlikte bi hayli zordur.
    Kolay gelsin.

    Merhaba Dediğiniz Yöntemi Tam Anlamıyla Denedim ancak başarısız.Resmin toleransı ile mümkün değil üstteki resme Bakarsanız mesesa 4x4 pixele denk gelen renk diğer resimdeki 4x4 karesindeki renk pixeli bambaşka Yani Toleransla iş mümkün değil.

    Sanırım biraz ileri düzeye kaşıyor ama bir bilginiz var mı Amacım hakkında?




  • Önceki mesajdada belirttiğim gibi; eğer denedin olmuyorsa image processing olayına bakıcaksın.
    opencv lütüphanesi falan vardı galiba yanlış hatırlamıyorsam vb'de çalışır mı bilmiyorum ama.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.