用matlab进行hough变换,代码如下,出现问题,请高手指导啊:
>> x=imread('hough.bmp');
>> x=rgb2gray(tem);
>> imshow(x);
>> [m,n]=size(x);
>> bw=edge(x,'sobel');
>> md=round(sqrt(m^2+n^2));
>> ma=180;
>> ruthta=zeros(md,ma);
>> tuthx=cell(1,1);
>> for i=1:md
for j=1:ma
ruthx{i,j}=[];
end
end
>> for i=5:m-4
for j=5:n-4
if bw(i,j)==1
for k=1:ma
ru=round(abs(j*cos(x(k))+i*sin(x(k))));
ruthta(ru+1,k)=ruthta(ru+1,k)+1;
ruthx{ru+1,k}=[ruthx{ru+1,k},[i,j]'];
end
end
end
end
%%%%至此出现上述问题
figure(1)
bw=ones(size(bw));
imshow(bw);
Ps:要是给我一个能运行的hough变换程序给我参考也好。
用matlab进行hough变换出现问题:Function 'cos' is not defined for values of class 'uint8'.
答案:2 悬赏:0
解决时间 2021-01-30 05:21
- 提问者网友:无悔疯狂
- 2021-01-29 09:55
最佳答案
- 二级知识专家网友:不服输就别哭
- 2021-01-29 10:16
x=double(rgb2gray(tem));%%把x图像转化成double型即可!另外tem是什么?应该是 x=imread('hough.bmp');该图像吧!
全部回答
- 1楼网友:duile
- 2021-01-29 11:19
同问。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯