[英]MATLAB reduce function?
我想使用imadd
將圖像的單元格數組添加在一起,但是imadd
僅需要兩個參數。 MATLAB中是否有reduce函數,可以在不編寫for循環的情況下將所有這些圖像加在一起?
images = {im1, im2, im3};
sum = reduce(@imadd, images);
您可以使用具有額外維度的數組。 例如2-d(灰度圖像)
images = {im1, im2, im3};
imarr = cat(3, images{:});
imsum = sum(imarr, 3);
當然,不需要首先創建單元格數組。 你可以直接去
imarr = cat(3, im1, im2, im3);
imsum = sum(imarr, 3);
甚至
imsum = sum(cat(ndims(im1)+1, im1, im2, im3),ndims(im1)+1);
通常也可以合並任何維矩陣。
由於您使用的是圖像處理工具箱,因此還可以使用IMLINCOMB函數(圖像的線性組合),只需將所有系數設置為一個即可:
imsum = imlincomb(1,im1, 1,im2, 1,im3)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.