作者william2961 (william2961)
看板MATLAB
标题[问题] fcm对图片分群运算问题
时间Mon Dec 9 10:58:22 2013
我想对图片作FCM分群的影像处理如下:
clear;
clc;
data = imread('C:\ori.jpg');
data2= rgb2gray(data);
options = [2;100;1e-5;0];
[center,U,obj_fcn] = fcm(data2, 3, options);
然执行後一直跳
??? Error using ==> mtimes
Integers can only be combined with integers of the same class, or scalar
doubles.
Error in ==> stepfcm at 25
center = mf*data./((ones(size(data, 2), 1)*sum(mf'))'); % new center
Error in ==> fcm at 88
[U, center, obj_fcn(i)] = stepfcm(data, U, cluster_n, expo);
Error in ==> fcm_test at 8
[center,U,obj_fcn] = fcm(data2, 3, options);
去GOOGLE了一下发现这个错误是矩阵乘除法问题
但是此程式码内并没有相乘相除的运算
不知道是哪里出了问题
请有使用过的大大给予帮助
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.137.186
1F:推 yichang53:fcm的data输入好像不是吃整个矩阵的 应该要转成行向量 12/09 20:17
2F:→ yichang53:应该用reshape将矩阵转成行向量 在喂给fcm跑 12/09 20:20
3F:→ yichang53:像是data3 = reshape(double(data2),256*256,1); 12/09 20:21
4F:→ yichang53:原始影像矩阵大小假设是256*256 12/09 20:22
谢谢您的帮助,按照您的建议已可使用
※ 编辑: william2961 来自: 140.112.4.194 (12/11 11:54)