Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
这是我的一个主题中的图像混洗问题的延续。
%# 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的列和行是否都被改组,还是仅改列了? 回答:
编辑 这是magic(5)的例子magic(5) >> m = magic(5) m = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> sort(m,1) %# sort rows in each column of m ans = 4 5 1 2 3 10 6 7 8 9 11 12 13 14 15 17 18 19 20 16 23 24 25 21 22 >> sort(m,2) %# sort columns in each row of m ans = 1 8 15 17 24 5 7 14 16 23 4 6 13 20 22 3 10 12 19 21 2 9 11 18 25 >> sortrows(m,3) %# sort the rows of m according to column 3 ans = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> mt = m' %'# transpose m mt = 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9 >> sortrows(mt,2) %# sort the rows of the transpose of m according to col 2 ans = 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9 17 23 4 10 11 >> mm = m; %# assign an output array for the next operation >> mm(:) = sort(m(:)) %# sort all elements of m mm = 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 更多&回答... |
![]() |
![]() |