0
這是對我的一個主題中的Image Shuffling問題的延續。圖像在MATLAB中與另一個圖像混排
%# scramble autumn.tif with itself
img1 = imread('autumn.tif');
%# scramble
[dummy,scrambleIdx] = sort(img1(:));
img2 = img1;
img2(:) = img1(scrambleIdx); %# note the (:). If you don't use it, img2 becomes a vector
%# unscramble
[dummy2,unscrambleIdx] = sort(scrambleIdx);
img3 = img2;
img3(:) = img2(unscrambleIdx);
問題1:sort(X,dim)
函數按升序排列X的列。這是否意味着X的所有維度?
問題2:img2的列和行是否在此代碼中混洗,或者只有列?
的例子@ Jonas.In你的答案你所說的那種(X,2)排序每一行中的列,那麼爲什麼我們需要做轉置爲了排序所有的列(參考引用您的答覆)。此外,排序(X(:))排序所有元素,所以我想我們不必編寫單獨的語句排序行和列?這是命令一個矢量化的例子?再次感謝你。 – gavishna 2010-07-10 17:38:58
我已經添加了幾個例子。請看看原始數組如何變化。也許這給你一個想法,你想如何洗牌你的形象。 – Jonas 2010-07-11 01:28:35
@ Jonas。我真的很感謝你的努力,Jonas讓我明白我打算如何處理你的例子。我在Matlab中嘗試了這些。有兩個邏輯我不能理解.1。如何在每一列中對行進行排序(m,2)。 – gavishna 2010-07-11 06:58:38