我有一个矩阵
[1 2
3 6
7 1
2 1]
Run Code Online (Sandbox Code Playgroud)
并希望删除镜像对..输出将是:
[1 2
3 6
7 1]
Run Code Online (Sandbox Code Playgroud)
要么
[3 6
7 1
2 1]
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法吗?我可以想象一个复杂的for循环,类似于(或者一个不会删除原始对的版本......只有重复版本):
for i=1:y
var1=(i,1);
var2=(i,2);
for i=1:y
if array(i,1)==var1 && array(i,2)==var2 | array(i,1)==var2 && array(i,2)==var1
array(i,1:2)=[];
end
end
end
Run Code Online (Sandbox Code Playgroud)
谢谢
我有四组数据,我想用一张图在 MATLAB 中表示它们的分布。当前代码是:
[n1,x1]=hist([dataset1{:}]);
[n2,x2]=hist([dataset2{:}]);
[n3,x3]=hist([dataset3{:}]);
[n4,x4]=hist([dataset4{:}]);
bar(x1,n1,'hist');
hold on; h1=bar(x1,n1,'hist'); set(h1,'facecolor','g')
hold on; h2=bar(x2,n2,'hist'); set(h2,'facecolor','g')
hold on; h3=bar(x3,n3,'hist'); set(h3,'facecolor','g')
hold on; h4=bar(x4,n4,'hist'); set(h4,'facecolor','g')
hold off
Run Code Online (Sandbox Code Playgroud)
我的问题是我对每组有不同的抽样大小,数据集 1 的 n 为 69,数据集2 的 n 为 23,数据集 3 和数据集 4 的 n 为 10。那么,当将这三个组一起表示时,如何对分布进行归一化?
有什么方法可以..例如..通过该组的采样来划分每个 bin 中的实例?
我有一个类似于下面的灰度图像,这是我在一些后处理步骤后获得的(图像 0001)。我想要一个对应于下部亮条底部的向量(如图像 0001b 所示)。我可以使用具有各种阈值的 im2bw 来实现图像 0002 中的矢量(阈值越高,矢量线向上的趋势越高,阈值越低,线向下的趋势越高)..和然后我想通过每个向量并在某个增量(可能是 100 像素左右)上测量弧长并选择具有最低弧长的向量……并将 100 像素拉伸添加到最终向量中,创建一个类似弗兰肯斯坦的向量使用每个阈值向量中最直的段。
首先,我应该在这里采用一些更好的策略来找到图像 0001 上的那条线吗?(这需要很快,所以一些长拟合代码将不起作用)。如果我目前的弗兰肯斯坦怪物解决方案有效,关于如何最好地解决这个问题有什么建议吗?
提前致谢
image=im2bw(image,0.95); %or 0.85, 0.75, 0.65, 0.55
vec=[];
for v=1:x
for x=1:z
if image(c,v)==1
vec(v)=c;
end
end
end
vec=fastsmooth(vec,60,20,1);
Run Code Online (Sandbox Code Playgroud)
我有一个灰度图像和该图像中 ROI 的二值掩模。我想对灰度图像执行模糊操作,但仅限于蒙版的范围内。现在我正在模糊整个图像,而不仅仅是删除蒙版之外的项目,但我不希望蒙版之外的像素影响我的投资回报率。有没有办法在不构建自定义模糊函数的情况下做到这一点?
希望有类似的东西:
import scipy
blurredImage = scipy.ndimage.filters.gaussian_filter(img, sigma = 3, weight = myMask)
Run Code Online (Sandbox Code Playgroud)
@斯特凡:
blur = 3
invmask = np.logical_not(mask).astype(int)
masked = img * mask
remaining = img * invmask
blurred = scipy.ndimage.filters.gaussian_filter(masked, sigma = blur)
blurred = blurred+remaining
Run Code Online (Sandbox Code Playgroud)
扩张方法:
blur = 3
invmask = np.logical_not(mask).astype(int)
masked = img * mask
masked2 = scipy.ndimage.morphology.grey_dilation(masked,size=(5,5))
masked2 = masked2 *invmask
masked2 = masked + masked2
blurred = scipy.ndimage.filters.gaussian_filter(masked2, sigma = blur)
Run Code Online (Sandbox Code Playgroud) 假设我有一个100 x 100矩阵,由250s,125s,15s和9s的某种组合组成.我想返回此矩阵中所有唯一值的排序向量.
关于以下问题:
sort(somefunction(matrix))=vector
Run Code Online (Sandbox Code Playgroud)
我想得到的结果是:
vector=9,15,125,250
Run Code Online (Sandbox Code Playgroud)
有没有快速简便的方法来做到这一点?