- データ型は8bit符号無し整数型(uint8)です
- 差分が負の値になる場合は0(黒)に飽和します
- 画像の枚数は n、差分画像の枚数は n-1 です
数列の計算式の作成(画像処理,差分画像作成)
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Atsuhiko Ninomiya
am 2 Feb. 2023
Kommentiert: Hiro Yoshino
am 3 Feb. 2023
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 で連続する自然数で展開しようとすると,うまくいきません.
数式について教えていただけますでしょうか.
0 Kommentare
Akzeptierte Antwort
Atsushi Ueno
am 2 Feb. 2023
n = 0; % 画像(I)の枚数、差分画像(def)の枚数はn-1
for k = 1:n
I{k} = imread(k+".jpg"); % k枚目の画像を読み込む
if k > 1 % 2枚目から差分画像を計算する
def{k-1} = I{k} - I{k-1}; % 差分画像を計算する
imshow(def{k-1}); % 差分画像を表示する
end
end
Weitere Antworten (1)
Atsushi Ueno
am 2 Feb. 2023
Bearbeitet: Atsushi Ueno
am 2 Feb. 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 Kommentar
Siehe auch
Kategorien
Mehr zu Biomedical Imaging finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!