このページではPython-openCVを使って指定したピクセルサイズでの真っ黒画像、真っ白画像を作成する方法をご紹介していきます。
そんなスキルいつ使うんだ?
こう思われたかもも多いかもしれませんが今回のスキルは、複数の画像を合成する際や、線や文字を描写したりする際のベース画像として非常によく使います。
私のブログ内記事でも何度出てきているスキルです。
「これからopenCVを極めよう」
という方なら何も見ないで書けるくらいになっておくべきスキルです。
ぜひやり方を覚えておきましょう。
それではさっそくやっていきましょう。
※Python(無料のプログラミング言語)のインストール~実行方法までは以下で解説しています。
また、opneCVのインストール方法については以下をご覧ください。
真っ黒画像、真っ白画像とは?
実際のスキル紹介に入る前に、まずは真っ黒の画像と真っ白の画像の内部がどうなっているのかを先に解説しておきましょう。
一般的に良く使われる8ビットのモノクロ画像というのは、それぞれのピクセルが0から255までの明るさ度合を表す数値(輝度)を持っています。
この数値が0だと真っ黒、255だと真っ白という具合です。
その中間値は濃度違いの灰色ですね。
つまり全体が真っ黒、真っ白の画像というのはすべてのピクセルの輝度値が0、もしくは255になっている画像というわけです。
逆に言えば、指定したピクセルサイズですべて0、もしくは255の輝度を持たせた配列を準備すれば、真っ黒画像、真っ白画像を作成できるというわけです。
上記はモノクロ画像の場合で説明しましたが、カラー画像であっても基本的にはRGB値という赤(R)の度合い、緑(G)の度合い、青(B)の度合いが全部0なら真っ黒画像、全部255なら真白画像になりますので同ことです。
前提知識がついたところで、次は実際の画像作成に入っていきましょう。
Python-openCVで真っ黒(真っ白)画像を作成する方法
それでは先ほど紹介した内容を実演してみましょう。
まずは真っ黒画像から作ってみましょう。
真っ黒画像を作成するには指定ピクセルサイズですべて輝度値0が入っている配列を準備すればいいんでしたね。
以下がそのサンプルコードです。
※今回は縦、横512ピクセルの画像を作成しています。
import cv2
import numpy as np
size=(512,512)
black_img=np.zeros(size,np.uint8)
cv2.imwrite('black.jpg',black_img)
基本的には4行目で指定サイズ(512,512)のすべて0が入っている配列を作成し、5行目でその配列を画像にしているだけです。
次は真っ白画像です。
import cv2
import numpy as np
size=(512,512)
black_img=np.zeros(size,np.uint8)
white_img=black_img+255
cv2.imwrite('white.jpg',white_img)
やっていることは5行目で先ほど作った真っ黒画像の配列(すべて0が入っている)に255を足してすべて255が入っている配列を作成し、それを6行目で画像に変換しているだけです。
これらを実行すると、プログラム実行フォルダに真っ黒画像(black.jpg)と真っ白画像(white.jpg)が保存されているはずです。
おわりに
というわけで今回はpython-openCVを使って、真っ黒画像、真っ白画像を作成する方法をご紹介しました。
非常によく使うスキルですので、ぜひやり方を覚えておきましょう。
このように、私のブログでは様々なスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村
それではまた!
Follow @HigashiSalary
コメント