Info
此问题已关闭。 请重新打开它进行编辑或回答。
Concateniting the results of two “finds”
1 次查看(过去 30 天)
显示 更早的评论
I have the following function that based on some criteria sets some pixels to the value `1`, and based on another criteria sets the other pixels to the value `0`.
Note here that for each elements in `x` there is a matrix `y` that represents the degree of membership of each element in `x` to some region, and is in the range `[0,1]`.
tolerance = 0.01;
[ii,jj]=find(abs(y-1) <= tolerance);
x(ii,jj)=1; % set pixels in x with y=1 to 1
[ii2,jj2] = find (abs(y-1) > tolerance);
x(ii,jj)=0; % set pixels in x with y~=1 to 0
%idx=[ii,jj];
c=x(abs(y-1) <= tolerance); % values of pixels
My question is, as an *output*, I want a vector of values that look like this for instace: `[1 0 0 1 0 1 0 0]`
As you can see I set some pixels to `1` and other to `0`. How can I combine those two results together?
Thanks.
0 个评论
回答(2 个)
Azzi Abdelmalek
2013-2-23
Your code can be done like this
tolerence=0.01;
y=0.05*(rand(5)-0.5) % your data
x=zeros(5)
x(abs(y)<=tolerence)=1
But your your output is not a vector
0 个评论
Walter Roberson
2013-2-23
As was already explained in one of your previous questions, you are using the output of find() incorrectly.
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!