数列の計算式の作成(画像処理,差分画像作成)
Afficher commentaires plus anciens
JPEG画像で,連続する差分画像を作成しています.
JPEGデータの名前が「1.jpg, 2.jpg, 3.jpg, ・・・ k.jpg, k+1.jpg」となっていたとします.
I(k) = imread ("k.jpg");
def(k) = I(k+1) - I(k);
figure(def(k))
という数列式を作成したいと思います.
I(1) = imread ("1.jpg")
I(2) = imread ("2.jpg")
I(3) = imread ("3.jpg")
・・・
というように,一つ一つ画像を読み込ませて,差分画像をつくることはできるのですが,
for 関数を用いて,k = 1~n で連続する自然数で展開しようとすると,うまくいきません.
数式について教えていただけますでしょうか.
Réponse acceptée
Plus de réponses (1)
Atsushi Ueno
le 2 Fév 2023
Modifié(e) : Atsushi Ueno
le 2 Fév 2023
imds = imageDatastore(pwd); % 現在のフォルダに 1.jpg, 2.jpg, 3.jpg... が存在すると仮定
I = readall(imds);
def = cellfun(@minus,I(2:end),I(1:end-1),'uni',false);
imshow(cell2mat(def));
1 commentaire
Hiro Yoshino
le 3 Fév 2023
「for 文使ったら負け 」 その通りです!
@Atsushi Ueno さんのこちらのスマートな方法をお薦めします。
Catégories
En savoir plus sur Read, Write, and Modify Image dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!