resim url karşılastır

sevensuleyman

Altın Üye
Katılım
9 Kasım 2012
Mesajlar
201
Excel Vers. ve Dili
office 2010
Altın Üyelik Bitiş Tarihi
08-12-2027
merhaba ; eski ve yeni resim linki olarak 10 binlerce resim var resim değişip değişmediğini karşılastırmak istiyorum. sadece fark varsa bilgi vermesi yeterlidir.

A sütunu eski B Sütüunu yeni resim linki karşılastır dediğimde bilgi vermesi yeterlidir. normal resim formda bu konuyu buldum. fakat nasıl uyarlanır bilemiyorum üstadlardan yardımınınızı rica ederim. şimdiden teşekkürler


eski resim
yeni resim
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
637
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Kod:
Sub CompareImages()
    Dim ws As Worksheet
    Dim oldLink As String
    Dim newLink As String
    Dim oldImage As String
    Dim newImage As String
    Dim lastRow As Long
    Dim i As Long
  
    Set ws = ThisWorkbook.Sheets("Sheet1")   
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    For i = 1 To lastRow
        oldLink = ws.Cells(i, 1).Value
        newLink = ws.Cells(i, 2).Value
        
        oldImage = EncodeFile(oldLink)
        newImage = EncodeFile(newLink)
        
        If oldImage <> newImage Then
            ws.Cells(i, 3).Value = "Farklı"
        Else
            ws.Cells(i, 3).Value = "Aynı"
        End If
    Next i

    MsgBox "Karşılaştırma tamamlandı.", vbInformation, "Bilgi"
End Sub

Public Function EncodeFile(strPicPath As String) As String
    Const adTypeBinary = 1
    
    Dim objXML As Object
    Dim objDocElem As Object   
    Dim objStream As Object
    
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = adTypeBinary
    objStream.Open
    objStream.LoadFromFile (strPicPath)

    ' XML Döküman nesnesi ve veriyi içerecek kök düğüm oluştur
    Set objXML = CreateObject("MSXml2.DOMDocument")
    Set objDocElem = objXML.createElement("Base64Data")
    objDocElem.DataType = "bin.base64"   
    objDocElem.nodeTypedValue = objStream.Read()
    
    EncodeFile = objDocElem.Text
  
    Set objXML = Nothing
    Set objDocElem = Nothing
    Set objStream = Nothing

End Function
Yukardaki kodda resimlerin kendi dosya yollarının (linklerinin) A ve B sütunlarında olması gerekiyor. Bu linkler, bilgisayarınızda ya da ağınızda bulunan resim dosyalarının tam yollarını temsil etmelidir. Örneğin:

A sütununda: D:\Resimler\eski\resim1.jpg
B sütununda: D:\Resimler\yeni\resim1.jpg

Kod, bu dosya yollarını kullanarak resimleri karşılaştırır ve fark varsa C sütununa "Farklı" olarak işaretler.
Dosya yollarının doğruluğundan ve erişilebilir olduğundan emin olmalısınız. Bu sayede kod doğru çalışacaktır.

Excel'in doğrudan resim karşılaştırma ve analiz yapabilme yetenekleri sınırlıdır. Excel, metin ve sayılarla çalışmak için mükemmel bir araçtır ancak resim karşılaştırma, özellikle görsel fark analizi gibi karmaşık işlemler için yeterli değildir. Excel içinde resimlerin içeriğini analiz edebilecek yerleşik bir özellik bulunmamaktadır.
 

sevensuleyman

Altın Üye
Katılım
9 Kasım 2012
Mesajlar
201
Excel Vers. ve Dili
office 2010
Altın Üyelik Bitiş Tarihi
08-12-2027
çok teşekkür ederim. kendimce uyarlamaya çalışacagım
 
Üst