怎么用matlab找图像的重心

怎么用matlab对图像重心的定位?谁有这方面的编程能发一下吗?谢谢了。... 怎么用matlab对图像重心的定位?谁有这方面的编程能发一下吗?谢谢了。 展开
 我来答
四舍五不入6
高粉答主

2019-10-24 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

用matlab找图像的重心可以参考以下的代码:

I = imread('1.jpg');

I = rgb2gray(I);

imshow(I);

I = double(I);

[rows,cols] = size(I); 

x = ones(rows,1)*[1:cols];y = [1:rows]'*ones(1,cols);   

area = sum(sum(I)); 

meanx = sum(sum(I.*x))/area; 

meany = sum(sum(I.*y))/area;

hold on;

plot(meanx,meany,'r+'); %十字标出重心位置

扩展资料:

常用函数

fix(x):无论正负,舍去小数至相邻整数

floor(x):下取整,即舍去正小数至相邻整数

ceil(x):上取整,即加入正小数至相邻整数

rat(x):将实数x化为多项分数展开

plot: x轴和y轴均为线性刻度(Linear scale)

loglog: x轴和y轴均为对数刻度(Logarithmic scale)

semilogx: x轴为对数刻度,y轴为线性刻度

semilogy: x轴为线性刻度,y轴为对数刻度

sin(x):正弦函数

cos(x):余弦函数

tan(x):正切函数

asin(x):反正弦函数

cosh(x):双曲余弦函数

tanh(x):双曲正切函数    

参考资料来源:百度百科-MATLAB

jimtien
推荐于2017-09-09 · TA获得超过7654个赞
知道大有可为答主
回答量:2146
采纳率:88%
帮助的人:1129万
展开全部

计算重心公式: 

与物理学概念的重心类似,只是P代表像素值

I = imread('1.jpg');
I = rgb2gray(I);
imshow(I);
I = double(I);
[rows,cols] = size(I); 
x = ones(rows,1)*[1:cols];
y = [1:rows]'*ones(1,cols);   
area = sum(sum(I)); 
meanx = sum(sum(I.*x))/area; 
meany = sum(sum(I.*y))/area;
hold on;
plot(meanx,meany,'r+'); %十字标出重心位置

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
menggulongg
推荐于2017-10-09 · TA获得超过1333个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:200万
展开全部
转发Fahd A. Abbasi.写的程序

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Function Developed by Fahd A. Abbasi.
% Department of Electrical and Electronics Engineering, University of
% Engineering and Technology, Taxila, PAKISTAN.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Function takes a picture as an argument (suitably should contain only one
% object whose centroid is to be obtained) and returns the x and y
% coordinates of its centroid.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% USAGE (SAMPLE CODE)
%
% pic = imread('ic.tif');
% [x,y] = ait_centroid(pic);
% x
% y
% imshow(pic); pixval on
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [meanx,meany] = ait_centroid(pic)

[x,y,z] = size(pic); % Checking whether the picture is colored or monochromatic, if colored then converting to gray.
if(z==1)
;
else
pic = rgb2gray(pic);
end

im = pic;
[rows,cols] = size(im);
x = ones(rows,1)*[1:cols]; % Matrix with each pixel set to its x coordinate
y = [1:rows]'*ones(1,cols); % " " " " " " " y "

area = sum(sum(im));
meanx = sum(sum(double(im).*x))/area;
meany = sum(sum(double(im).*y))/area;

参考资料: http://www.mathworks.com/matlabcentral/fileexchange/5457

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
prodigital
2010-06-24 · TA获得超过879个赞
知道小有建树答主
回答量:363
采纳率:100%
帮助的人:391万
展开全部
求矩统计量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式