ssimで同時に複数枚の計算は可能でしょうか?

4 visualizzazioni (ultimi 30 giorni)
弘達 土亀
弘達 土亀 il 14 Set 2020
Risposto: 弘達 土亀 il 4 Nov 2020
Reference画像に対して複数枚の画像(比較画像)とssimを行い結果を算出したいと考えています。
比較を行う画像を一枚づつ取り込んで、結果を算出して行く方法しかないでしょうか?
比較画像を全て取り込み、結果を算出する方法はあるのでしょうか?
  7 Commenti
Kenta
Kenta il 30 Set 2020
Modificato: Kenta il 30 Set 2020
弘達 土亀 さま、こんにちは。
この方法だと、N枚の画像と参照画像を順番に効率よく計算する方法で、一番古いコメントにある2)の方法の気がするのですが、どう思いますか? 1)にあるように、SSIMに似せた多くのサンプル間の類似度のようなものを計算したい、ということかと思っていました。ご質問の内容を私が勘違いしている可能性もあるので、コメントをいただけると幸いです。
弘達 土亀
弘達 土亀 il 30 Set 2020
返信ありがとうございます。
1)が私は行いたいことであります。
ssimvalを算出する時は ssimval = ssim(●●,ref) となります。(先ほどの質問ではコードが間違っていました。)
今回教えて頂いたコードであると I と mread(filnname)が ssimval のコードと比較すると反対ではないのかと思いました。
ssim(I,imread(filnname)) → ssim(imread(filename),I) ①
質問後に、①のようにssimのカッコ内反対に変更して実行してみたら変更前後で同じ結果になりました。
質問がわかりにくくて申し訳ありません。

Accedi per commentare.

Risposte (1)

弘達 土亀
弘達 土亀 il 4 Nov 2020
今度は、Reference画像に対して複数枚の画像(比較画像)とDice係数の算出を行いたいと考えています。
1枚ずつの場合は、データをuit8からlogicalに変更することで算出する事が出来ました。
フォルダ内に複数データがある場合に、データを一括でlogicalに変更してDice係数を算出できるでしょうか。
以前教えて頂いたssim算出のフローを下記に記します。
このフロー編集して算出できると助かります。
何卒よろしくお願いします。
% 参照画像読み込み
>> I = imread('cameraman.tif');
% imgs フォルダには 複数枚の画像が入っていると仮定します
% イメージデータストアの作成
>> imds = imageDatastore('imgs');
% ReadFcn で ssim() 関数を実行 (ファイルを読み込む時点でReadFcnが実行される)
>> imds.ReadFcn = @(filename) ssim(I, imread(filename))
% imgsフォルダ内の画像群に対して ssim() を実行
>> readall(imds)

Community Treasure Hunt

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

Start Hunting!