Amostragem e Quantização

Para realizar este trabalho, foram utilizados os pacotes NumPy e OpenCV. O código está todo comentado e na sequência é possível ver as imagens resultantes.

Código

# -*- coding: utf-8 -*-
import numpy as np
import cv2

# Função: imread ( nome da imagem, [1=cor, 0=grayscape, -1=alpha])
# Cada coluna da imagem é armazenada em um subvetor, onde cada coluna é uma posição
img = cv2.imread('./Imagens/original.jpg', 0)

## Amostragem ##
# Reduzindo a imagem #
# Seleciona uma em cada 2 colunas, e de cada coluna uma a cada duas linhas
n = 2
img_red = img[::n,::n]

# Aumentando a imagem #
# Os pixels da imagem atual serão duplucados no eixo x e y. Assim, a imagem volta a ter o tamanho original, mas a partir da imagem reduzida
# Função: np.repeat(matriz, vezes, eixo). O eixo 0 é a altura e 1 a largura.
m = 2
img_aum = np.repeat(img_red, m, axis=0)
img_aum = np.repeat(img_aum, m, axis=1)

## Quantização ##
# 255 / 31 = 8,22...
# Assim, teremos uma imagem com 8 tons de cinza. A conta é feita desta forma para descartar a parte decimal dos números e alterar o vetor para que possua apenas 8 valores possíveis.
r = 31
img = np.uint8(img / r) * r

# Salvar imagem no disco #
#cv2.imwrite('C:/Diretório', img_aum)

# Mostra uma imagem
# Função: cv.imshow(nome da janela, matriz)
cv2.imshow('original',img)
cv2.imshow('reduzida',img_red)
cv2.imshow('aumentada',img_aum)

# Funções para o funcionamento correto do python no Windows.
cv2.waitKey(0)
cv2.destroyAllWindows()

Imagens Resultantes

# Original

DCIM100GOPROGOPR0157.

# Reduzida

reduzida

# Aumentada

aumentada

# Quantizada

quantizada

Útil(4)Desprezível(0)

Configurar controle do XBOX no Windows 10

Até ontem eu usava o controle do XBOX pra jogar no PC com Windows 7, até que veio a atualização para o Windows 10 e o controle ficou listado como um dispositivo desconhecido e não funcionava.

Achei uma resposta simples Internet afora,  dizendo apenas para atualizar o driver atual para um outro determinado que já existe no PC. Faça o seguinte:

  1. Clique com o botão direito no atalho “Este Computador” (antigo Meu computador) na área de trabalho e vá em Gerenciar;
  2. Vá na opção Gerenciamento de dispositivos;
  3. Encontre o controle do XBOX, clique com o botão direito e vá em Atualizar driver;
  4. Escolha a opção: Procurar software de driver no computador;
  5. Agora clique em Permitir que eu escolha em uma lista de drivers de dispositivo no computador;
  6. Selecione: Xbox 360 Wireless Receiver for Windows Version: 2.1.0.1349 [8/13/2009];
  7. Clique em aceitar ou OK nas outras telas até fechar tudo;
  8. Pronto, seu controle será reconhecido.

Funcionou pra mim.

Fonte: Answers.microsoft.com/

Útil(15)Desprezível(21)

Atalhos para mover/redimensionar uma janela no Windows

Trabalhar com mais de um monitor é muito bom quando se utiliza muitas janelas/programas ao mesmo tempo. Em alguns casos a janela fica “ligada” ao monitor que ela estava posicionada e se você resolve abrir o mesmo programa usando um só monitor, ela tende a ir lá para o canto.

O jeito mais fácil de restaurar/mover uma janela que não está na sua tela atual é usando o atalho no teclado para posicionar, maximizar e minimizar. Use a combinação das teclas Windows + setas:

teclado-atalho-minimizar-maximizar

  • Cima: maximizar para tela cheia;
  • Baixo: minimizar para barra de tarefas;
  • Esquerda: maximizar a janela até o meio do monitor;
  • Direita: maximizar a janela até o meio do monitor;
Útil(29)Desprezível(9)

Restaurar fotos excluídas do celular

Formatei um cartão micro SD do meu celular (Android), sem querer querendo, e todas as fotos e vídeos da câmera que estavam salvas nele, se foram desta pra melhor :'(. Tentei recuperar pelo computador usando alguns softwares (Recuva, EaseUS Data Recovery,  Wondershare Data Recovery) que até conseguiram trazer de volta poucas fotos, mas algumas estavam deformadas.

Foi aí que pensei em usar algum aplicativo no próprio celular e depois de um bom tempo procurando e testando, encontrei o aplicativo que resolveu meu problema. Ele é o Photo Recovery. Feio, porém eficiente!

Usei o método 2 do Photo Recovery e depois de algum tempo as fotos estavam em uma pasta na raiz da memória do celular. Muitas outras imagens (como do what’s app) também foram recuperadas.

A partir daqui, usei o ES File Explorer (há muitos outros também) para acessar as imagens e jogá-las novamente no cartão de memória. Coloquei no computador, organizei por tamanho e excluí aquelas que não eram da câmera.

Dica de backup automático:

  • Fotos: o Google está fazendo um backup das fotos pelo aplicativo Fotos, e o espaço utilizado não é descontado do Google Drive.
  • OneDrive: O app da Microsoft faz o upload automático das fotos e quando você ativa esta opção, ganha mais 15 GB.
Útil(0)Desprezível(1)

Alterar servidor DNS no Linux (Ubuntu, Mint, etc)

Há vários tópicos na Internet sobre como fazer isso, mas tive que testar muitos para encontrar um que funcionava. Na maior parte deles, ao reiniciar o PC o arquivo /etc/resolv.conf voltava ao normal, e as tentativas de travar sua edição não eram válidas.

Encontrei em um tópico do Stackexchange explicando sobre a criação do arquivo /etc/resolv.conf e quais arquivos são utilizados para isso. Então, altere um destes arquivos e toda vez que você ligar o computador, as configurações estarão lá.

sudo nano /etc/resolvconf/resolv.conf.d/tail

Este arquivo serve para adicionar conteúdo dinâmico ao /etc/resolv.conf.

Agora adicione o conteúdo:

nameserver 8.8.8.8
nameserver 8.8.4.4

Salve o arquivo:

Ctrl + o

Feche:

Ctrl + x

Agora mande o sistema gerar novamente o arquivo:

sudo resolvconf -u

Por fim, reinicie o PC.

Fonte: How do I set my DNS on Ubuntu 14.04?

 

Útil(8)Desprezível(1)

Problemas com Linux e Eclipse (Android)

Eclipse fecha ao executar ou criar o projeto? Adicione esta linha no eclipse.ini:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

Problemas com o R ou outras libs? Instale estes pacotes:

sudo apt-get install lib32stdc++6

sudo apt-get install lib32z1 lib32z1-dev

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

 

Útil(1)Desprezível(0)

Ajustando as configurações e/ou sensibilidade do seu touchpad no Linux/Ubuntu

Recentemente troquei meu notebook e migrei do Windows para o Linux. Uma das coisas que não gostei foi a falta de suporte da Sony para os notebooks que utilizam alguma versão Linux. Por outro lado, adorei a liberdade que temos para configurar e personalizar este maravilhoso sistema operacional.

A utilização do touchpad não era das mais agradáveis no Linux. O touch ficou muito sensível e em alguns toques eu tinha que “tocar” com força. Procurando pelas configurações do touchpad consegui melhorar, e muito, seu uso.

Primeiro vamos listar os dispositivos para saber qual é o ID do touchpad:

xinput list

No meu caso obtive uma lista e descobri o ID que é 11:

? SynPS/2 Synaptics TouchPad              	id=11	[slave  pointer  (2)]

Agora liste (e grave em um arquivo .txt por exemplo) as configurações atuais do seu touchpad:

xinput --watch-props 11

Onde 11 é o ID do meu touchpad.

Agora é só brincar/alterar as configurações e valores de acordo com o seguinte comando:

xinput --set-prop ID "Nome da Propriedade" xx

Onde ID é seu número, Nome da Propriedade é o nome conforme a lista e XX os valores do jeito que estão (com ou sem vírgulas).

Por exemplo, diminuí a pressão do toque com dois dedos (como botão direito):

xinput --set-prop 11 "Synaptics Two-Finger Pressure" 182

Também reduzi um pouco a sensibilidade dos movimentos/toques com um dedo:

xinput --set-prop 11 "Synaptics Finger" 30 50 100

Este site possui uma documentação mais detalhada sobre cada uma das configurações: http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html

Se você reiniciar seu computador, as configurações serão perdidas. Por isso, adicione os comandos no arquivo /etc/rc.local para que sejam executados ao iniciar o sistema. Abra ele com algum editor e cole os comandos lá. Por exemplo:

nano /etc/rc.local

Espero ter ajudado 🙂

Útil(0)Desprezível(0)

[Resolvido] Teclas/comandos para controle de brilho no Linux (ubuntu, kubuntu, mint, outros)

Comprei um Ultrabook Sony Vaio e resolvi instalar o Linux (Ubunu 13.04) para usar no dia a dia. Quase tudo funcionou perfeitamente, não fosse novamente o problema com as teclas fn de brilho.

Este mesmo problema me fez perder algumas horas com o Windows e agora com o Linux.

Depois de muito procurar, consegui achar uma solução para este problema.

O arquivo que controla o brilho do Sony Vaio no Ubuntu 13.04 (no Slackware e provavelmente em outras versões também) é o:

/sys/class/backlight/intel_backlight/brightness

Bastou abrir como root, alterar o valor e salvar que o brilho da tela se ajustou na hora!

Resolvi então criar um script em Python e atribuir ele a alguma tecla de atalho (o padrão FN+F5/6 não funcionou). Para fazer isto, crie um arquivo chamado brightness_up.py (ou outro_nome.py) e adicione o seguinte código:

max = open("/sys/class/backlight/intel_backlight/max_brightness")
actual = open("/sys/class/backlight/intel_backlight/brightness","w+")

max = int(max.read())
bright = int(actual.read()) + 285

if (bright <= max):
        actual.write("%s" % (bright))
else:
        actual.write("%s" % (max))

Este script lê o arquivo que possui o valor máximo para o brilho e faz uma verificação para aumentar ou atribuir o valor máximo no arquivo que possui o controle do brilho atual.

Agora vamos criar o arquivo brightness_down.py que vai ter o script para diminuir o brilho:

actual = open("/sys/class/backlight/intel_backlight/brightness","w+")

min = 287
bright = int(actual.read()) - 285

if (bright >= min):
        actual.write("%s" % (bright))
else:
        actual.write("%s" % (min))

No meu caso, salvei os dois arquivos na pasta /home/rafael.

Bom, agora vamos criar o atalho no teclado. Vá em Configurações do Sitemas > Teclados

Clique na aba Atalhos de teclado e depois no botão + no final da janela. Você vai criar dois atalhos com as configurações:

Nome: Aumentar Brilho
Comando: python /home/rafael/brightness_up.py (ou local que você salvou)

Nome: Diminuir Brilho
Comando: python /home/rafael/brightness_down.py (ou local que você salvou)

Agora clique no final da linha destes registros (em cima de Desabilitado) e aperte as teclas que deseja. No meu caso eu coloquei Shift + F6 para aumentar e Shift + F5 para diminuir.

Agora vamos adicionar um script (dica do Prof. Luiz Arthur) para alterar o dono do arquivo toda vez que o computador é ligado. Para isso, adicione as seguintes linhas no arquivo /etc/rc.local (vi /etc/rc.local ou nano /etc/rc.local):

# Altera o dono do arquivo para o usuário rafael
/bin/chown rafael /sys/class/backlight/intel_backlight/brightness
# Altera o valor do arquivo para 1000 (diminui o brilho máximo antes de iniciar)
echo 1000 > /sys/class/backlight/intel_backlight/brightness

Script Bom, é isto aí galera. Espero ter ajudado.

Útil(3)Desprezível(0)

Evento jQuery ao abrir o modal (light box) do Twitter Bootstrap

Se você quer chamar um evento ao abrir o modal (light box) do Twitter Bootstrap, utilize o seguinte código:

$("#id_da_div").on('shown', function() {
        alert('Abriu a light box');
        // funções que deseja
    });

Esta função será executada quando a div identificada acima (#id_da_div) for aberta.

Útil(8)Desprezível(3)

Redirecionamento de diretórios (pastas) com .htaccess

Se você quer redirecionar os acessos de um certo link, por exemplo:
http://www.meusite.com.br/pasta/antiga/imagens/foto.jpg

Para um endereço novo:
http://www.meusite.com.br/novo/fotos/foto.jpg

É possível fazer de forma simples com o arquivo .htaccess.

Se você não tem, crie um arquivo novo e salve como .htacess. Se você já tem, adicione este conteúdo:

RewriteEngine on
RewriteBase /
RewriteRule ^pasta/antiga/imagens/(.*)$ http://www.meusite.com.br/novo/fotos/$1 [R=301,L]

Envie o arquivo para o diretório base de sua hospedagem (www ou public_html).

Assim, todos os acessos a pastas e arquivos dentro da pasta antiga serão enviados para a pasta nova, independente se há outras pastas dentro.

Útil(7)Desprezível(14)