Python × 画像処理

PythonでPNG画像の色を変換してブログ画像やサムネイルを作る方法

2020-10-10

PythonでPNG画像の色を変換 

 

ブログやサムネイルの画像を作りたいんだけど、PNGって色を変更できないかな〜

 

Pythonを使えば、簡単にPNG画像を好きな色に変えられて、オリジナル画像にも追加できるよ!

 

本記事では、Pythonを用いて、PNG画像の色を変更して、ブログ画像やサムネイルに使えるオリジナル画像の作り方をご紹介します。

 

想定読者

・PNG画像の色を変更して、ブログやサムネイルで使えるオリジナル画像を作りたい。

・PythonでPNG画像の色を変更する方法を知りたい。

 

PNG画像の色を変更してブログ画像を作成する

ブログ画像やサムネイル作るときって、何かアイコンを入れたいってよくあります。

そんな時はPNGの背景が投影な画像(透過画像)を使いますよね。

そして、PNG画像をサイトからダウンロードしていざ画像に入れようとしてもちょっと色が合わない。。。

そこで、今回はPNGの透過画像の色を変えて、次のような画像を作る方法をご紹介します。

INASALA'S NOTE

 

ブログやサムネイルに使えるオリジナル画像の作成手順

それでは、オリジナル画像の作成手順を説明していきます。

全部で4ステップです。

 

step
1
Canvaで土台となる画像を作る

Canvaは、Webブラウザ上で無料で画像が作れる便利なサイトです。テンプレートも豊富で、ゼロから作らなくてもOKです。

ここで次のような土台となる画像を作ります。

canva

 

step
2
好きなPNG画像を選ぶ

次は、自分がアイコンとして追加したいPNG画像を選びます。

アイコンは、次の2つのサイトがおすすめです。

ICONFINDER

無料のAi・PNG白黒シルエットイラスト

どちらのサイトもシンプルでデザインも素敵です。もちろん無料です。

 

step
3
Pythonで選んだPNG画像の色を変更する

ここでいよいよPythonが登場します。

詳細は、以下でご紹介します。

 

step
4
色を変更したPNG画像を土台の画像に追加する

最後に、PNG画像を土台の画像に貼り付けて完成です。

Canvaでは、PC上の画像をアップロードして、画像に追加することができます。

 

PythonでPNG画像の色を変換する方法

ここでお待ちかねのPythonでPNG画像の色を変換する方法をご紹介します。

 

Pythonの実行環境

今回は、以下の実行環境でプログラムを実行しています。

・Python 3.7.6
・Jupyterlab 1.2.6
・cv2:4.3.0

テストとして、無料のAi・PNG白黒シルエットイラストからダウンロードした下のPNG画像(透過画像)を使っていきます。

pc

 

ファイル名は「pc.png」とします。

 

PythonでPNG画像の色を変換するプログラム

まずは、必要なライブラリをインポートします。

import os
import cv2
import numpy as np

次にテストのPNG画像を読み込みます。今回は、透過画像を使っているため、flags = cv2.IMREAD_UNCHANGEDとして読み込むことがポイントとなります。

img = cv2.imread('pc.png', flags = cv2.IMREAD_UNCHANGED)

そして黒い部分を他の色に変える処理をします。

img2 = np.where(img==[0, 0, 0, 255] , [88, 189, 255, 255], img)

少しプログラムの解説をします。
・黒い部分は、最初の3つ要素(GBR)がゼロで、4つめの透明度を示す要素(0が透明、255が不透明)が255となる[0, 0, 0, 255]になります。
・np.where()は、1つ目の引数で条件を、2つめの引数で条件がTrueの時に置換される値、3つ目は条件がFalseの時の値になります。
ここでは、黒の部分にGBRが[88, 189, 255]の色で不透明とし、黒以外はそのままという処理をしています。

 

最後に、色を変換したものを画像として保存します。

cv2.imwrite("pc2.png", img2)

 

色を変換した画像は次の通りとなりました。

pc2

 

そしてこのPNG画像をオリジナル画像に貼り付けます。

ブログトップ画像背景も黒になってちゃんと貼り付けられてますね。

他のアイコンも同じ手順で追加していきます。

 

以上が、PythonでPNG画像の色を変えて、オリジナル画像を作る方法でした。

いかがでしたでしょうか。

こんな感じで自分で処理を書くことで、いろいろな画像が作れそうですよね。

これからもどんどんPythonでの便利な使い方・プログラムを紹介していきます。

 

最後まで読んでいただきありがとうございました。

 

 

-Python × 画像処理

© 2023 inasala note