Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【opencv】グレースケールにした画像をRGBにする + 真っ黒な画像を用意する

import cv2

photo = cv2.imread('hoge.png')
grays = cv2.cvtColor(photo, cv2.COLOR_RGB2GRAY)
rgb = cv2.cvtColor(grays, cv2.COLOR_GRAY2RGB)

みたいな感じ

グレースケールの明るさがそのままRGBのそれぞれに割り当てられるらしい
一度グレースケールにしたら、元のRGBにはそのままでは戻せないので注意

自分がやりたかったのは、グレースケールの画像を使って(0, 0, 0)と(255, 255, 255)の2色のフィルターみたいなものを作りたかったけど、
グレースケールの画像だと 0〜255の1つの値しかなくて、RGBの3色の画像と重ねたりはできない
なので、グレースケールの画像をRGBの3つの値に変換したかった


真っ黒な画像を用意する方法

import cv2
import numpy as np

size=(512,512)
black_img=np.zeros(size,np.uint8)

みたいな感じ
これで全部のピクセルに0が代入されている。


これと↑のグレースケールをRGBに変換を組み合わせると、RGBで真っ黒な画像が作れる

ランキング参加中です

↓クリックしていただけると嬉しいです〜