我有一个曾经是矩阵的向量,我使用x = y(:)将其更改为向量, 然后我创建了我的矢量,现在我想创建一个直方图,我一直得到以下错误:
Error using .*
Integers can only be combined with integers of the same class, or scalar doubles.
Error in hist (line 78)
xx = miny + binwidth*(0:x);
这是我的代码:
>> y = part(:);
>> hist(part(:))
有人可以帮助我,因为我是matlab的新手,我在这里做错了什么?
新编辑: 这是我的完整代码:我尝试将图像更改为完全红色,然后拍摄图像的某些部分,最后将其转换为直方图:
>> rgb = uint8( imread('hand.tif') );
>> imagesc(rgb);
>> red = rgb( :,:,1);
>> green = rgb( :,:,2);
>> blue = rgb( :,:,3);
>> pure_red = red ./ (red+blue+green);
>> imagesc(pure_red);
>> part = pure_red(1:10,1:10);
>> y = part(:);
答案 0 :(得分:1)
您可以尝试将数据转换为double:
y = double(part(:));
figure;
hist(y);