要更改空变量

时间:2017-11-17 22:23:43

标签: matlab image-processing

我有一个这样的循环:

[centers, radii]=imfindcircles() %find circles in the image
if isnan(centers)==1 %if centres is empty
    centers='NA'; % assign centres a NA
else
    centers=centers;
end

我想做的是:

  • 如果找不到圈子且centers=[],我想为中心分配一个值(可以是'NA'0)。
  • 如果找到某些圈子,则centres仍为同一个阵列。

此循环的目标是为centres分配一些值,以便即使没有找到圆圈,也可以将其保存到.xls文件中。

但我的问题是在此循环之后,即使centers=[]centres也不会更改其值。这意味着这个循环根本不起作用。那么有人可以检查我哪里出错了吗?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

function [ x ] = empty2nan( x, Size )
   if isempty(x), x=nan(1,Size); end
end

centers=empty2nan(centers,2)

答案 1 :(得分:-1)

from rest_framework.generics import RetrieveUpdateAPIView

class ProfileRetrieveUpdateView(RetrieveUpdateAPIView):

    queryset = Profile.objects.all()
    serializer_class = ProfileSerializer

    def get_permissions(self):
        if self.request.method == "GET":
            return []
        else:
            return [IsAuthenticated()]

更好的理论方法是,恕我直言:

[centers,radii] = imfindcircles() %find circles in the image

if (isempty(centers)) %if centres is empty
    centers(1) = NaN; % assign centres a NA
end