playtree 发表于 2007-4-20 09:50

一个计算矩阵中相同个数的问题(matlab)

现在有这样一个问题
得到图象的灰度图象之后,计算每个像素点的邻域均值
现在希望计算图象中
像素点的灰度值和其邻域均值均相等的像素点的个数
我的原有程序如下
im_hue = imread('001.jpg');im_gray = rgb2gray(im_hue);%得到彩色的图片以及相应的灰度图片
im_mean = fix( filter2(fspecial('average',3),im_gray) );%计算图片的邻域灰度均值
= size(im_gray);%计算灰度图片的大小
value_im = zeros(im_r*im_c,2);%存储灰度图片像素的灰度值及其邻域灰度均值
value_im(:,1) = reshape(im_gray,im_r*im_c,1);%存储灰度图片像素的灰度值并改变矩阵的形式为列向量
value_im(:,2) = reshape(im_mean,im_r*im_c,1);域灰度均值并改变矩阵的形式为列向量
im_gray_tmp_2d_entroy = zeros(256,256);%存储灰度图片特征二元组(i,j)出现的频数
%计算灰度图片特征二元组(i,j)出现的频数
for i=0:255
for j=0:255
im_gray_tmp_2d_entroy(i+1,j+1) = size( find( value_im(:,1)==i & value_im(:,2)==j ), 1) / (im_r*im_c);%计算存储灰度图片特征二元组(i,j)出现的频数
end
end
主要是上面这个循环花费的时间代价太大
希望高手指点优化的程序
谢谢

风花雪月 发表于 2007-4-26 02:31

没看懂特征二元组是什么意思?
页: [1]
查看完整版本: 一个计算矩阵中相同个数的问题(matlab)