プログラミングのメモ

プログラミングの学び直し備忘録

01_OPenCV:BRG画像作成

# -*- coding: utf-8 -*-
"""

 【仕様】
  ・400x800ピクセルにB,R,G画像生成、表示(※RGBでない。OpenCV仕様)
  ・それぞれ.jpgで保存
"""

#----------------------------------------------------
# OpenCV,NumPyモジュールimport
#----------------------------------------------------
import numpy as np
import cv2
import os
import sys
import subprocess

sPath ='d:/temp/'

#----------------------------------------------------
#image生成 (行,列,チャネル(色数))
#----------------------------------------------------
img = np.zeros((400,800,3), np.uint8)

##########################################
# 【画像1】
##########################################
#----------------------------------------------------
#[縦,横]に[B,R,G]データ設定
#----------------------------------------------------
img[:,0:400]=[255,0,0]

#----------------------------------------------------
# ファイルに保存
# ※フォルダがないと保存されない!
#----------------------------------------------------
cv2.imwrite(sPath +'blueImage.jpg',img)

#----------------------------------------------------
# 画像をウィンドウ上に表示
# cv2.imshow(window_name, img) 
# cv2.waitKey 関数を実行しない限り、画像が表示されないことに注意
#----------------------------------------------------
cv2.imshow('img1',img)

##########################################
# 【画像2】
##########################################
img[:,:]=[0,255,0]
cv2.imwrite(sPath +'greenImage.jpg',img)
cv2.imshow('img2',img)

##########################################
# 【画像3】   
##########################################
img[:,:]=[0,0,255]
cv2.imwrite(sPath +'redImage.jpg',img)
cv2.imshow('img3',img)

##########################################
# 表示 & 終了待ち
##########################################
#-----------------------------------------------------------
# キーボード入力をn ms(ミリ秒)待ち、 
# その間にキーが入力されれば次の処理を行う関数.
# nの値として 0 を指定した時は,キー入力を無期限で待ち続ける.
#-----------------------------------------------------------
cv2.waitKey(0)

##########################################
# 消去
##########################################
#----------------------------------------------------
# 現在までに作られた全ての ウィンドウを閉じる関数.
# 特定のウィンドウだけを閉じたい場合は、 
# window_nameにそのウィンドゥの名前を与えて、 
# cv2.destroyWindow(window_name) 関数を実行する
#----------------------------------------------------
cv2.destroyAllWindows()

subprocess.Popen(['explorer', sPath.replace('/', os.sep)])