Ciência de dados: como enviar dados na forma de arquivos não estruturados com python

Você pode usar Python para enviar dados na forma de arquivos não estruturados. arquivos de dados não estruturados consistem de uma série de bits. O arquivo não separar os bits do outro de forma alguma. Você não pode simplesmente olhar para o arquivo e ver toda a estrutura, porque não há qualquer para ver. formatos de arquivos não estruturados contar com o usuário do arquivo para saber como interpretar os dados.

Por exemplo, cada pixel de um arquivo de imagem poderia consistir em três campos de 32 bits. Sabendo que cada campo é de 32 bits é com você. Um cabeçalho no início do arquivo pode fornecer pistas sobre como interpretar o arquivo, mas, mesmo assim, é até você para saber como interagir com o arquivo.

O exemplo aqui mostra como trabalhar com uma imagem como um arquivo não-estruturados. A imagem é um exemplo oferta de domínio público. Para trabalhar com imagens, você precisa acessar o biblioteca Scikit-image, que é uma coleção livre de encargos de algoritmos usados ​​para o processamento de imagem. UMA tutorial para esta biblioteca está disponível se você precisar de ajuda.

A primeira tarefa é a de ser capaz de exibir na tela a imagem usando o seguinte código. (Este código pode exigir um pouco de tempo para correr. A imagem está pronto quando o indicador de ocupado desaparece da guia Notebook IPython.)

imreadfrom de importação skimage.io pyplot skimage.transform importação resizefrom matplotlib importação como matplotlib.cm PLTImport como cmexample_file = ( “” + “https://upload.wikimedia.org/ Wikipedia / comuns / 7 / 7d / Dog_face.jpg”) imagem = imread (example_file, as_grey = TRUE) plt.imshow (imagem, cmap = cm.gray) plt.show ()

O código começa com a importação de um número de bibliotecas. Em seguida, cria uma cadeia que aponta para o exemplo de arquivos online e coloca-lo em example_file. Essa seqüência é parte do imread () chamada de método, juntamente com as_grey, que é definido como Verdade. o as_grey argumento diz Python para transformar qualquer imagens coloridas em escala de cinza. Quaisquer imagens que já estão em escala de cinza permanecer assim.

Agora que você tem uma imagem carregada, é hora de torná-lo (torná-lo pronto para exibir na tela. O imshow () função executa o processamento e usa um mapa de cores em tons de cinza. o exposição() função na verdade exibe imagem para voce.

A imagem aparece na tela depois de render e mostrá-lo.
A imagem aparece na tela depois de render e mostrá-lo.

Feche a imagem quando você terminar de vê-lo. (O asterisco na In

  • : entrada diz-lhe que o código ainda está em execução e você não pode passar para a próxima etapa.) O ato de fechar a imagem termina o segmento de código. Agora você tem uma imagem na memória e você pode querer saber mais sobre ele. Quando você executa o código a seguir, você descobre o tipo e tamanho da imagem:

    Video: Python e Banco de Dados com Sqlite3 #2: Inserindo dados dinamicamente

    print ( “tipo de dados:% s, forma:% s”% (tipo (imagem), image.shape))


    A saída do presente convite diz que o tipo de imagem é um numpy.ndarray e que o tamanho da imagem é de 90 pixels por 90 pixels. A imagem é na verdade um conjunto de pixels que você pode manipular de várias maneiras. Por exemplo, se você quiser cortar a imagem, você pode usar o seguinte código para manipular a matriz da imagem:

    imagem2 = imagem [5: 70,0: 70] plt.imshow (imagem2, cmap = cm.gray) plt.show ()

    o numpy.ndarray dentro image2 é menor do que aquele em imagem, de modo que a saída é menor, bem. O objetivo do corte da imagem é torná-lo um tamanho específico. Ambas as imagens devem ser do mesmo tamanho para que você possa analisá-los. O corte é uma forma de garantir que as imagens são o tamanho correto para a análise.

    Cortar a imagem torna menor.
    Cortar a imagem torna menor.

    Outro método que você pode usar para mudar o tamanho da imagem é para redimensioná-la. O código a seguir redimensiona a imagem para um tamanho específico para análise:

    image3 = redimensionamento (image2, (30, 30), mode = `mais próximo`) plt.imshow (image3, cmap = cm.gray) print ( “tipo de dados:% s, forma:% s”% (tipo (image3) , image3.shape))

    A saída a partir da impressão() função diz-lhe que a imagem é agora de 30 pixels por 30 pixels de tamanho. Você pode compará-lo a qualquer imagem com as mesmas dimensões.

    Video: Python 3 Aula 14 - Encriptação de dados - md5 - sha1

    Depois de ter todas as imagens o tamanho certo, o que você precisa para achatar-los. Uma fileira de conjunto de dados é sempre uma dimensão única, não duas dimensões. A imagem é atualmente uma série de 30 pixels por 30 pixels, então você não pode fazer parte de um conjunto de dados. O código a seguir achata image3 de modo que torna-se uma matriz de 900 elementos de que é armazenado em image_row.

    image_row = image3.flatten () impressão ( “tipo de dados:% s, forma:% s”% (tipo (image_row), image_row.shape))

    Note que o tipo ainda um é numpy.ndarray. Você pode adicionar essa matriz para um conjunto de dados e, em seguida, usar o conjunto de dados para fins de análise. O tamanho é de 900 elementos, como o previsto.


  • Publicações relacionadas