マルチスペクトル画像を使ってRGB画像の作成

10 views (last 30 days)
shinto tomizawa
shinto tomizawa on 6 Dec 2019
Commented: shinto tomizawa on 16 Dec 2019
同じ構造物を対象としてR、G、Bの三枚の画像を撮影しました。二枚の画像の対応する特徴点を表示させることはできました。
三枚同時に特徴点を表示させるにはどうしたらよいですか?
  1 Comment
Kenta
Kenta on 11 Dec 2019
こんにちは、よろしければ、RGBの3枚の画像を添付していただけませんか?

Sign in to comment.

Accepted Answer

Kenta
Kenta on 12 Dec 2019
result.png
こんにちは、画像を添付していただき、誠にありがとうございます。質問文にある、「三枚同時に特徴点を表示させる」
ということは上の図で再現されているのですが、対応関係も含めて可視化したいということでしょうか、それとも、単にうえのように三枚同時に特徴点を表示させるだけで十分でしょうか。
また、特徴点の検出方法は今回はひとまずSURFでやりましたが、こちらの取り組みの場合は、どの手法で検出することを想定されていますか?適宜、下のコードを変更していただけると幸いです。よろしくお願いいたします。
clear;clc;close all
Im1=imread('IMG_00360_1.jpeg');
I1=Im1(:,:,1);
features_R=detectSURFFeatures(I1);
figure;
subplot(1,3,1)
imshow(I1);
hold on;
plot(features_R)
Im2=imread('IMG_00360_2.jpeg');
I2=Im2(:,:,2);
features_G=detectSURFFeatures(I2);
subplot(1,3,2)
imshow(I2);
hold on;
plot(features_G)
Im3=imread('IMG_00360_3.jpeg');
I3=Im3(:,:,3);
features_B=detectSURFFeatures(I3);
subplot(1,3,3)
imshow(I3);
hold on;
plot(features_B)
  2 Comments
shinto tomizawa
shinto tomizawa on 13 Dec 2019
こんにちは、丁寧に解説していただきありがとうございます。
最終的にこの三枚の画像を重ねてRGB画像を作成することを目標としております。
しかし、3枚の画像それぞれのレンズ位置が異なるため関数imfuseなどで上手く重ねてRGB画像を作成することができません。そこで、今回特徴点を対応付けて重ねようとしましたが自分には出来ませんでした。
是非3枚の画像の特徴点を対応付けて重ね合わせ、一枚の画像として可視化していただきたいです。
どうぞよろしくお願い申し上げます。
Kenta
Kenta on 13 Dec 2019
result.JPG
こんにちは、左("少し"レジストレーション(*))と右(レジストレーションなし)では、ほんの気持ちだけ、ガードレール?の柱部分や雲の光などシャープに見えている気がします。
ただこの画像ではレジストレーションは難しいかもしれません。3つめの画像が全体的に暗く、うまく特徴点がとれませんでした。複数の特徴点の取り方も試しましたがRバンドの結果が微妙で、今回は、青、緑のバンドのみは位置合わせし、位置合わせの難しかったRのバンドはそのまま重ね合わせると上のようになりました。
特徴点の取り方を変えたり、対象画像を変えるとうまくいくかもしれません。ひとまず今回の方法を起点とし、また質問者様のほうでいろいろとご検討していただけると幸いです。
ちなみにですが、赤青緑のバンドの位置合わせが必要な状況というのはどのような環境なのでしょうか?通常のカメラでは撮影できないのでしょうか?

Sign in to comment.

More Answers (2)

shinto tomizawa
shinto tomizawa on 12 Dec 2019
こんにちは、返信いただきありがとうございます。
以下添付画像の説明です。
  • IMG_00360_1.jpeg B画像
  • IMG_00360_2.jpeg G画像
  • IMG_00360_3.jpeg R画像
よろしくお願いいたします。

shinto tomizawa
shinto tomizawa on 15 Dec 2019
こんにちは。ALTUMというマルチスペクトルカメラで撮影しまして、それぞれの波長をとるレンズの位置が別で、ずれが生じてしまいます。
こちらの画像ですと特徴点が良く検出されました。この画像ですとR・G・Bの位置合わせできそうですか?
橋の画像も別の画像で試してみようと思います。
  2 Comments
Kenta
Kenta on 15 Dec 2019
そうなんですね。教えていただきありがとうございます。メーカーから、その位置のずれを補正する方法やプログラム、アプリなどは提供されていないのでしょうか?
新たに送っていただいたものでも完璧には位置合わせはできませんでした。もう少し作りこみが必要なようです。カメラがどれだけずれているかは、既知のはずなので、カメラ位置がわからない状態でやるよりも、その情報を入れ込んだ状態でレジストレーションする方が良いと思います。またメーカーのかたにも相談いただけると幸いです。また何かわかったら教えていただけると幸いです。なにかMatlabのほうでも工夫できるかもしれません。よろしくお願いいたします。
shinto tomizawa
shinto tomizawa on 16 Dec 2019
こんにちは。返信ありがとうございます。
こちらですか?
メーカーのサイトでカメラ位置のズレがどれほどなのか調べてみようと思います。
前回送らせて頂いた画像は歪み補正していない画像でしたのでカメラのパラメータ出したものを送らせていただきます。

Sign in to comment.

Categories

Find more on MATLAB Support Package for IP Cameras in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!