Jump to content

Search the Community

Showing results for tags 'imagem'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Administração
    • Regras do fórum
    • Anúncios e Noticias
    • Moderação de Usuário
  • Geral
    • Chat (Offline)
    • Chat de Desenvolvedores
    • Diretivas de Segurança
    • Board Test
  • Autoit v3
    • Ajuda e Suporte geral
    • Ajuda e Suporte à GUI (Interface Gráfica de Usuário)
    • Exemplos de Scripts
    • UDFs (Função Definida pelo Usuário)
    • Tutoriais & VideoAulas
    • Microcódigos

Calendars

There are no results to display.

There are no results to display.


Found 5 results

  1. Binario de Imagem

    Olá Galera do Autoit Percebi que quando mando Compilar o Programa o Icone vai de alguma forma compressada no Binario e não precisa enviar o icone junto com o arquivo porém as imagens não sei se é possível fazer a mesma coisa alguém sabe???
  2. Boas tardes, Ando com um problema no mu codigo se alguem tiver uma ideia agradeço, ando ate com dois problemas mas este é das tabs combo e imagem quando seleciono da lista combo uma imagem muda mediante a escolha, so que com as tabs aparecia a imagem em todas as tabs quando alterava, adicionei a funcao -----GUISwitch($GUI, $TabID)---- e resolveu, so altera na tab que escolho mas agora tenho 1 problema, a imagem so aparece se eu mudar de tab e voltar a que faço a seleção, ou seja antes carregava no menu a imagem aparecia, mas depois estava em todas as tabs, agora carrego nao aparece, mudo de tab e volto a das opcoes e aparece. #include <GuiConstantsEx.au3> #include <GuiTab.au3> Global $dir =("FULL\") $GUI = GUICreate("Test Script", 500, 500) $hTab = GUICtrlCreateTab(5, 10, 500, 450) $Tab1 = GUICtrlCreateTabItem("Tab1") $Tab2 = GUICtrlCreateTabItem("Tab2") $Pic1 = GUICtrlCreatePic("", 15, 202, 25, 25); coordenadas da imagem $Pic2 = GUICtrlCreatePic("", 15, 234, 25, 25) $Pic3 = GUICtrlCreatePic("", 15, 264, 25, 25) $Combo3 = GUICtrlCreateCombo("Corpo", 47, 268, 65, 25); posicao da combobox GUICtrlSetFont(-1, 8, 400, 0, "Arial") jcorpo($combo3) ; funcao que le opcao escolhida $Combo2 = GUICtrlCreateCombo("Corpo", 47, 238, 65, 25) GUICtrlSetFont(-1, 8, 400, 0, "Arial") jcorpo($combo2) $Combo1 = GUICtrlCreateCombo("Corpo", 47, 206, 65, 25) GUICtrlSetFont(-1, 8, 400, 0, "Arial") jcorpo($combo1) $Tab3 = GUICtrlCreateTabItem("Tab3") ;GUICtrlSetState($Tab2, $GUI_SHOW); tessting code GUICtrlCreateTabItem("") $Switch_Button = GUICtrlCreateButton("Switch Next", 20, 470, 80, 20) GUISetState(@SW_SHOW, $GUI) While 1 Switch GUIGetMsg() Case $combo1 GUISwitch($GUI, $Tab2) img1($combo1, $Pic1, 15, 202) GUISwitch($GUI) case $combo2 img1($combo2, $pic2, 15, 234) Case $combo3 img1($combo3, $Pic3, 15, 264) Case $GUI_EVENT_CLOSE Exit Case $Switch_Button $iCurrent_TabIndex = _GUICtrlTab_GetCurSel($hTab) $iNext_TabIndex = $iCurrent_TabIndex Switch $iCurrent_TabIndex Case 0, 1 $iNext_TabIndex += 1 Case 2 $iNext_TabIndex = 0 EndSwitch _GUICtrlTab_SetCurSel($hTab, $iNext_TabIndex) EndSwitch WEnd Func img1($var, $imp, $x1, $y1); funcao q dependendo da escolha coloca a imagem ; $Read = GUICtrlRead($var) If $Read = "A" Then $imp = GUICtrlCreatePic($dir & "A.bmp", $x1, $y1, 25, 25) EndIf If $Read = "B" Then $imp = GUICtrlCreatePic($dir & "B.bmp", $x1, $y1, 25, 25) EndIf If $Read = "C" Then $imp = GUICtrlCreatePic($dir & "C.bmp", $x1, $y1, 25, 25) EndIf If $Read = "" Then $imp = GUICtrlCreatePic($dir & "", $x1, $y1, 25, 25) ;Else ; $imp = GUICtrlCreatePic($dir & "null.bmp", $x1, $y1, 25, 25) EndIf EndFunc Func jcorpo($varcomb) GUICtrlSetData($varcomb, "A|B|C") EndFunc func _exit() Exit EndFunc Alguma ideia? Obrigado pelo tempo
  3. Compara Pixel a Pixel imagens

    Meu primeiro Tópico no fórum... => Historinha : Possuo uma lista de 13.577 wallpapers que deixo como papeis de parede de forma aleatória, com o nome da imagem (que no caso é um número) eu posso entrar no site em que baixei e descobrir informações relacionadas a ela, como autor, direitos autorais, data, etc. Neste contexto eu mesmo não conheço nem uma miséria parte de todas as imagens, e vez ou outra acabo me deparando com uma imagem que me interessa em minha área de trabalho. Ai ficou minha pergunta: Que imagem é essa? Para responde-la simplesmente com o nome da imagem eu poderia entrar no site e descobrir todas as informações sobre ela... Porém não encontrei forma de encontrar a imagem em questão dentre as 13k imagens. Pesquisa aq pesquisa ali, descobri que o Windows cria uma cópia da imagem que será utilizada como papel de parede na pasta: C:\Users\"NOME DE USUARIO"\AppData\Roaming\Microsoft\Windows\Themes ps.: A imagem fica com o nome de Transcoded_000 e Transcoded_001 (possuo dois monitores e Windows 8.1 portanto dois papeis de paredes diferentes); Penso eu: "pronto agora é só fazer uma comparação com simples de hash com as minhas imagens e vou descobrir o nome da imagem em questão"; Ai que me engano até o dado momento eu só estava habituado com hash dos dados binários do arquivo, e por alguma razão o Windows modifica a imagem a nível binário, tonando a comparação binaria impossível... Ai a solução seria uma comparação de hash dos pixeis, contudo não tinha nenhuma experiência neste campo... Ai me surge a ideia de utilizar Autoit para realizar esta tarefa! Pesquisei e Pesquisei não encontrei nenhuma solução que satisfazia meu problema; Então lá vai eu fazer a minha própria função de comparação de imagens, para isso achei mais fácil fazer um sistema de comparação de pixeis de forma bruta... Acabei criando o seguinte código: #include <GDIPlus.au3> $fname1=FileOpenDialog("Primeira Imagem","","All images(*.bmp;*.jpg;*.png;)") If $fname1="" Then Exit $fname2=FileOpenDialog("Segunda Imagem","","All images(*.bmp;*.jpg;*.png;)") If $fname2="" Then Exit $time = TimerInit(); MsgBox("", "Result", ImgComparar($fname1, $fname2) & " | Tempo de Comparação: " & TimerDiff($time)) Func ImgComparar($Path1, $Path2, $Tol = 1, $Percent = 90, $Passo = 5) $Tol *= 500000; ; - $Path1 => Caminho da 1ª imagem a ser comparada ; - $Path2 => Caminho da 2ª imagem a ser comparada ; - $Tol => Tolerancia - 0 ~>>> ; - $Percent => Porcentagem aceitável de diferenciação ; - $Passo => Passo da busca (MAIS = -precisão +velocidade, MENOS = +precisão - velocidade) _GDIPlus_Startup() Local $Img1 = _GDIPlus_BitmapCreateFromFile($Path1) Local $Img2 = _GDIPlus_BitmapCreateFromFile($Path2) If _GDIPlus_ImageGetWidth($Img1) <> _GDIPlus_ImageGetWidth($Img2) Or _GDIPlus_ImageGetHeight($Img2) <> _GDIPlus_ImageGetHeight($Img2) Then ;ConsoleWrite("aq"); FileClose($Img1); FileClose($Img2); _GDIPlus_Shutdown() Return False; EndIf Local $_W = Floor(_GDIPlus_ImageGetWidth($Img1) / $Passo); Local $_H = Floor(_GDIPlus_ImageGetHeight($Img1) / $Passo); Local $w = 0, $h = 0; Local $Fail = 0, $Total = $_W * $_H; Local $Px1 = 0, $Px2 = 0; Local $i = 0 For $i = 0 To $Total - 1 $w = Floor($i / $_H); $h = $i - ($w * $_H); $w *= $Passo; $h *= $Passo; $Px1 = _GDIPlus_BitmapGetPixel($Img1, $w, $h); $Px2 = _GDIPlus_BitmapGetPixel($Img2, $w, $h); ;ConsoleWrite($Px1&" "&$Px2&@CRLF); If VerificaTol($Px1, $Px2, $Tol) == False Then $Fail += 1; If (($Fail / $Total) * 100) > (100 - $Percent) Then FileClose($Img1); FileClose($Img2); _GDIPlus_Shutdown() Return False ElseIf (($i / $Total) * 100) >= $Percent Then FileClose($Img1); FileClose($Img2); _GDIPlus_Shutdown() Return True EndIf Next ;Return Round(($i / $Total) * 100, 2) FileClose($Img1); FileClose($Img2); _GDIPlus_Shutdown() EndFunc Func VerificaTol($n1, $n2, $Tol) If Modulacao($n1 - $n2) < $Tol Then Return True Return False EndFunc Func Modulacao($float) If $float < 0 Then Return ($float * -1) Return False EndFunc Ainda não terminei a ideia inicial, que era fazer uma cópia do arquivo do Windows e comparar com todas as minhas imagens até encontrar a certa... Mais me pareceu conveniente compartilhar este código e ao mesmo tempo perguntar se vocês conhecem alguma solução mais funcional, ou se veem uma forma de melhorar este meu código... No meu computador comparando imagens de 2331x1600 está demorando mais ou menos 5 segundos (mais o autoit não utiliza nem 20 % do meu processamento :[ ), é bastante tempo, porém eu vou limitar a busca com imagens de tamanhos semelhantes pois o Windows modifica os dados, mais não altera o tamanho da imagem de forma drástica. Chegando em casa vou tentar fazer uso de uma dll que conheço "ImageSearch.dll" (OpenSource em c++ se não me engano) para comparar duas imagens, mais mesmo que funcione valeu a pena para melhorar minha programação em AutoIt (sou leigo)...
  4. Estou desenvolvendo um VCF Viewer para uso pessoal, já q não encontrei um FREE na net q mostrasse as Fotos tb VCF.ico VCF.au3 É Free quem quiser baixar e contribuir fique a vontade VCF Versão 4 provavelmente ira dar problema com as imagens pois mudou o formato do header de PHOTO Por sinal tem umas rotinas que preciso Otimizar como a de Remoção de Acentuação para a Busca e também a de tratamento de imagens q estou gravando e lendo em arquivo em disco, quando o ideal seria tratar tudo em memoria. Essa parte de GDI sou meio Fraco. ; # VCF Viewer =============================================================================== ; ; Description: : VCF Viewer Free Basico (em desenvolvimento) ; Simples VCF Viewer ; Suporta Arquivos .VCF com multiplos cartões ; Suporta Busca simples (enter executa a busca) 2ª etapa elimina acentuação e Busca (monta tabela sem acentuação se não achar) e busca ; Suporta varios formatos de Imagem ; Suporta Multiplas imagens por Cartão ; Suporta Varios CHARSET (Habilitavel via CheckBox) Usar se as letras estiverem erradas ; Suporta ENCONDIG = QUOTED-PRINTABLE, B, Base64 ; ; Ao clicar na Image abre a mesma no programa default Externo ; ; Pendencias : Ajustes nas rotinas de Imagem para trabalar sem nescessidade de Salvar a Imagem em Disco VEJA em #Region Func a Serem Melhoradas ; CHARSET as vezes funciona ao Contratiro por isso coloquei um CheckBox, parece q para VERSÃO < 3 do VCF o CHARSET tem que estar Checado ; Muitos outros recursos, como exportar para CSV etc.. ; ; Remarsks : Não fiz ele para ser 100% Compativel com VCF 2.0 ou 3.0 mas nos testes q fiz funcionou bem ; alias nem li a fundo a especificação do VCF para fazer esse programa ; ; Docuemntação pode ser encontrada em: http://en.wikipedia.org/wiki/VCard ; ; Parameter(s): : ; Requirement: : ; Return Value(s): : ; User CallTip: : ; Author(s): : Elias Assad Neto, (outros contribuintes aqui) ; Date Created : 2013/04/10 ; Date Modified : 2013/04/10 ; ;=============================================================================== Abaixo no Spolier pode se Visualizaar o VFC.au3
  5. Terrain Identificator

    Iai gente. Bom, venho até vcs com um problema em um programa no qual venho trabalhando. Não envolve tanto código, mas meios mais eficientes de executar a tarefa. Objetivo do programa: Analisar quadrantes de N x N pixels em uma imagem (.jpg) e comparar esses quadrantes com "imagens amostras", discriminadas por tipos, em um banco de dados previamente criado. Podendo assim identificar com qual categoria de amostras aquele quadrante analisado mais se parece. Aplicação: Analisar uma imagem de satélite e identificar automaticamente que tipo de terreno existe em cada porção varrida na imagem. Problema: Metodo de comparação. O que eu ja tenho => Para comparar essas porçoes de N x N pixels, eu analiso cada pixel dentro da porção e faço uma média aritmetica de suas cores RGB. Uma simples média para cada um dos valores R, G e B. Med = n1 + n2 + n3 3 Faço uma média da mesma forma para cada amostra do banco de dados. Assim trabalho com um unico dado para cada coisa. Um dado com 3 valores. o RGB médio de cada quadrante de pixels. Depois eu determino uma porcentagem minima de semelhança, em torno de 70%. Se o "fator diferença" da porção analisada for 30% maior ou menor, ele é acusado como falso. Caso contrario, positivo. Identificando assim, se a porção analisada pertence ou nao, na categoria de amostras em questao. Dilema: Isso é ineficiente. Uma simples média aritmética nao é confiavel, pois certos trechos da porção analisada dao uma "quebra" na soma dos valores das cores e acabam gerando falsos positivos. Tons mais claros de vermelho, por exemplo, reduzem o valor médio final da cor, fazendo com que o script nao aponte a categoria correta. Ao baixar para um minimo de 40% de diferença, começo a ter mais problemas ainda... com erros por excesso de margem de erro! a busca fica imprecisa! Pergunta De que maneira eu poderia comparar esses trechos de imagem de forma que obtenha maior certeza na confirmação? Alem da simples média aritimetica, de que outra forma seria possivel? Existe alguma udf que eu desconheço? Alquem ja trabalhou com um problema semelhante ao comparar imagens?
×