Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A comparação de imagens é uma tarefa comum em muitos cenários, como detecção de alterações em capturas de tela, verificação de integridade de arquivos de imagem, entre outros. Neste artigo, vamos explorar como realizar a comparação de imagens em scripts no sistema operacional Windows, utilizando tanto o CMD quanto o PowerShell.
Exemplos:
1. Comparação de imagens usando o CMD:
No CMD, podemos usar a ferramenta 'fciv' (File Checksum Integrity Verifier) para calcular o hash de uma imagem e compará-lo com outro hash previamente calculado. Veja o exemplo abaixo:
@echo off
setlocal
set imagem1=c:\caminho\para\imagem1\.jpg
set imagem2=c:\caminho\para\imagem2\.jpg
fciv -md5 %imagem1% > hash1\.txt
fciv -md5 %imagem2% > hash2\.txt
fc /b hash1\.txt hash2\.txt > nul
if %errorlevel% equ 0 (
echo As imagens são iguais.
) else (
echo As imagens são diferentes.
)
del hash1\.txt
del hash2\.txt
endlocal
2. Comparação de imagens usando o PowerShell:
No PowerShell, podemos utilizar a biblioteca .NET para carregar as imagens como objetos e compará-las pixel a pixel. Veja o exemplo abaixo:
$imagem1 = "c:\caminho\para\imagem1\.jpg"
$imagem2 = "c:\caminho\para\imagem2\.jpg"
$bitmap1 = New-Object System.Drawing.Bitmap $imagem1
$bitmap2 = New-Object System.Drawing.Bitmap $imagem2
$iguais = $true
for ($x = 0; $x -lt $bitmap1\.Width; $x++) {
for ($y = 0; $y -lt $bitmap1\.Height; $y++) {
$pixel1 = $bitmap1\.GetPixel($x, $y)
$pixel2 = $bitmap2\.GetPixel($x, $y)
if ($pixel1 -ne $pixel2) {
$iguais = $false
break
}
}
}
if ($iguais) {
Write-Host "As imagens são iguais."
} else {
Write-Host "As imagens são diferentes."
}
A comparação de imagens em scripts no Windows pode ser extremamente útil em diversas situações. Compartilhe este artigo com seus amigos e colegas para que eles também possam aprender a realizar essa tarefa de forma eficiente e automatizada.