20250422/佐藤綺羅/原画像と処理画像の表示
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[log/20250422/佐藤綺羅]]
*原画像と処理画像の表示 [#pd6cd9bf]
**2窓表示 [#ka51bfff]
複数のウィンドウに1枚ずつ画像を表示したい場合は、単純にcv2.imshow関数を複数用意すれば良い。~
以下にプログラムの実行例を示す。
取り込んだ画像~
&attachref(neko.jpeg);
コード
#code(python){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("neko", img)
cv2.imshow("neko_gray", gimg)
cv2.waitKey(0)
}}
実行結果~
&attachref(neko.jpeg);~
&attachref(neko_gray.png);~
これら2つの画像が別々のウィンドウで表示される。
cv2.waitKey(0)の命令は1つだけで良い。
キー入力がされると複数のウィンドウが同時に閉じる。
**cv2.shape [#d2dcffe2]
cv2.shapeは画像の高さ、幅、チャンネル数を格納するタプルである。~
以下に、neko.jpegとそのグレー画像の画像情報を表示するプログラムの実行例を示す。
コード
#code(pyton){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print(gimg.shape, img.shape)
}}
実行結果
(183, 275) (183, 275, 3)
この画像は縦183、横275の画素数で構成されていることが分かる。~
また、グレー画像は高さと幅のみの二次元配列となることも読み取れる。
**cv2.hconcat関数 [#u459d6f5]
cv2.hconcat([画像1, 画像2])
2つの画像を横に連結させるcv2クラスのメンバ関数。~
プログラム例
#code(python){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
g2img = cv2.cvtColor(gimg, cv2.COLOR_GRAY2BGR)
nimg = cv2.hconcat([img, g2img])
cv2.imshow("neko_neko",nimg)
cv2.waitKey(0)
}}
実行結果~
&attachref(neko_neko.png);
g2img = cv2.cvtColor(gimg, cv2.COLOR_GRAY2BGR)
の処理を行わず、
nimg = cv2.hconcat([img, gimg])
と書くとエラーが出る。~
これはグレー画像とカラー画像では情報を格納する配列の要素数が異なるからである。~
終了行:
[[log/20250422/佐藤綺羅]]
*原画像と処理画像の表示 [#pd6cd9bf]
**2窓表示 [#ka51bfff]
複数のウィンドウに1枚ずつ画像を表示したい場合は、単純にcv2.imshow関数を複数用意すれば良い。~
以下にプログラムの実行例を示す。
取り込んだ画像~
&attachref(neko.jpeg);
コード
#code(python){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("neko", img)
cv2.imshow("neko_gray", gimg)
cv2.waitKey(0)
}}
実行結果~
&attachref(neko.jpeg);~
&attachref(neko_gray.png);~
これら2つの画像が別々のウィンドウで表示される。
cv2.waitKey(0)の命令は1つだけで良い。
キー入力がされると複数のウィンドウが同時に閉じる。
**cv2.shape [#d2dcffe2]
cv2.shapeは画像の高さ、幅、チャンネル数を格納するタプルである。~
以下に、neko.jpegとそのグレー画像の画像情報を表示するプログラムの実行例を示す。
コード
#code(pyton){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print(gimg.shape, img.shape)
}}
実行結果
(183, 275) (183, 275, 3)
この画像は縦183、横275の画素数で構成されていることが分かる。~
また、グレー画像は高さと幅のみの二次元配列となることも読み取れる。
**cv2.hconcat関数 [#u459d6f5]
cv2.hconcat([画像1, 画像2])
2つの画像を横に連結させるcv2クラスのメンバ関数。~
プログラム例
#code(python){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
g2img = cv2.cvtColor(gimg, cv2.COLOR_GRAY2BGR)
nimg = cv2.hconcat([img, g2img])
cv2.imshow("neko_neko",nimg)
cv2.waitKey(0)
}}
実行結果~
&attachref(neko_neko.png);
g2img = cv2.cvtColor(gimg, cv2.COLOR_GRAY2BGR)
の処理を行わず、
nimg = cv2.hconcat([img, gimg])
と書くとエラーが出る。~
これはグレー画像とカラー画像では情報を格納する配列の要素数が異なるからである。~
ページ名: