Imagem em tons de cinza

Converter imagem em preto e branco usando Java Cloud SDK

As imagens raster são produzidas diariamente por meio de telefones celulares, scanners, etc., e são compostas por um esquema de cores RGB. Já com a cor RBG, o tamanho da imagem é grande e na outra ponta, uma imagem em tons de cinza é uma imagem comprimida, pois é um dos tipos em que o valor de cada pixel é uma única amostra representando apenas uma quantidade de luz; ou seja, carrega apenas informações de intensidade. Além disso, uma imagem em tons de cinza é uma imagem monocromática em preto-e-branco ou cinza que consiste inteiramente em tons de cinza. O contraste varia do preto, a intensidade mais fraca, ao branco, a mais forte. Portanto, neste artigo, desenvolveremos um conversor de imagens em tons de cinza para modificar a exposição de suas imagens para tons de cinza. Ajuste a intensidade do tom de cinza da imagem conforme desejado com filtro de escala de cinza para eliminar distrações coloridas e enfatizar o significado de seus projetos.

API de conversão de imagem em tons de cinza

Temos uma API baseada em REST que oferece recursos para manipular arquivos de imagens na nuvem. Ele também suporta o recurso para converter imagens em preto e branco. Portanto, para desenvolver o conversor de imagem em escala de cinza usando Java, vamos usar Aspose.Imaging Cloud SDK for Java. Além da conversão para imagem em tons de cinza, você também pode converter a imagem de origem para uma variedade de outros formatos suportados. Agora, para iniciar as operações de conversão, a primeira etapa é adicionar sua referência no projeto java, incluindo as seguintes informações no pom.xml (projeto de tipo de compilação maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

A próxima etapa é obter as credenciais do cliente no Cloud Dashboard e, se você não tiver uma conta no Aspose Cloud Dashboard, crie uma conta gratuita por meio de um endereço de e-mail válido. Agora faça o login usando a conta recém-criada e procure/crie o ID do cliente e o segredo do cliente no Aspose Cloud Dashboard.

Foto em escala de cinza usando Java

Esta seção explica os detalhes sobre como carregar uma imagem existente e convertê-la em uma imagem em tons de cinza. Por favor, siga as instruções especificadas abaixo para cumprir o requisito.

  • A primeira etapa é criar uma instância do ImagingApi com base nas credenciais personalizadas do cliente
  • Em segundo lugar, leia o arquivo JPG da pasta local usando o objeto Arquivo
  • Em terceiro lugar, crie a instância byte[] para ler o arquivo usando o método readAllBytes(…)
  • A próxima etapa é criar uma instância de CreateGrayscaledImageRequest que requer a matriz de bytes e o nome da imagem em tons de cinza resultante
  • Por fim, chame o método createGrayscaledImage(…) para gerar a foto em tons de cinza e o arquivo resultante é armazenado no armazenamento em nuvem
// Obtenha ClientID e ClientSecret em https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// criar objeto de imagem
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// carregar arquivo da unidade local
File f = new File("PinClipart.png");

// leia o conteúdo da imagem PNG para a matriz de bytes
byte[] bytes = Files.readAllBytes(f.toPath());
					    
// criar solicitação de conversão em escala de cinza onde especificamos o nome do arquivo resultante
CreateGrayscaledImageRequest request = new CreateGrayscaledImageRequest(bytes,"grayscale.jpg",null);

// Converter imagem em preto e branco
imageApi.createGrayscaledImage(request);
imagem em tons de cinza

Converter imagem em preto e branco

Imagem em tons de cinza

Foto em tons de cinza resultante

Gerar imagem em escala de cinza usando comandos cURL

Também podemos converter a imagem em preto e branco usando comandos cURL. Como nossas APIs são acessíveis apenas a usuários autorizados, para acessar as APIs usando comandos cURL no terminal de linha de comando, precisamos primeiro gerar um token de acesso JWT (com base nas credenciais do cliente) usando o seguinte comando.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Agora que temos o token JWT, chame a API GrayscaleImage para produzir uma imagem em tons de cinza. Depois que a foto em tons de cinza é gerada, a imagem resultante é retornada no fluxo de resposta.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/grayscale" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "grayscale.jpg"

Conclusão

Este artigo forneceu todos os detalhes sobre como podemos converter imagens em preto e branco usando o Java Cloud SDK. Da mesma forma, também exploramos a opção de atender ao requisito de gerar imagens em tons de cinza usando comandos cURL. Além dessas opções, você pode explorar rapidamente os recursos da API no navegador da Web por meio da Referência da API do swagger. É altamente recomendável explorar a Documentação do produto para saber mais sobre outros recursos interessantes oferecidos pela API.

Além disso, todos os nossos Cloud SDKs são desenvolvidos sob licença do MIT, portanto, o código-fonte completo pode ser baixado do GitHub. Por fim, caso você encontre algum problema ao usar a API, considere entrar em contato conosco para uma resolução rápida por meio do [fórum de suporte ao produto] gratuito 9.

Artigos relacionados

Por favor, visite os links a seguir para saber mais sobre: