MATLAB Answers

025015
0

動画をカラーとグレー​スケールの2画面で表​示したい。

Asked by 025015
on 12 Jul 2018
Latest activity Answered by Kei Otsuka
on 18 Jul 2018
カラー動画の出力は出来るが、グレースケールとの2画面同時表示が出来ない。
cam1=vcapg2;%カメラから画像行列取得
image(cam1);%画像表示
pause(0.02);
rgbValues = cam1;%RGBの画像行列
hsvValues = rgb2hsv(rgbValues);%HSVの画像行列

  0 Comments

Sign in to comment.

Products


Release

R2013a

1 Answer

Kei Otsuka
Answer by Kei Otsuka
on 18 Jul 2018

グレースケールへの変換はrgb2grayで行えますが、Image Processing Toolboxはお持ちでないということでしたので、
まずR2014b以降の版数へアップグレードされてから以下を試してみてください。
●グレースケールへの変換
gray = rgb2gray(rgbValues);
ここからRGB画像とグレースケール画像を2画面で表示したいということですが、方法がいくつかあります。
●RGB画像とグレースケール画像を結合し、1枚の画像として表示
%RGB画像読み込み
img = imread('coloredchips.png');
%グレースケール変換
gray = rgb2gray(img);
%結合用に次元を拡張
gray3 = repmat(gray, [1,1,3]);
%列方向に結合
pair = [img, gray3];
%可視化
figure, imshow(pair)
●サブプロットの利用
%RGB画像読み込み
img = imread('coloredchips.png');
%グレースケール変換
gray = rgb2gray(img);
%Subplotで可視化
figure,
subplot(1,2,1), imshow(img)
subplot(1,2,2), imshow(gray)
もしImage Processing Toolboxが使える状況であれば、imshowpairという関数も非常に便利です。
figure, imshowpair(img, gray, 'montage')

  0 Comments

Sign in to comment.