首页 > 软件 > MATLAB中图片上的字的像素位置与数学直角坐标的换算,如下图,要程序

MATLAB中图片上的字的像素位置与数学直角坐标的换算,如下图,要程序

软件 2024-09-11

我有一幅图片,在左下角建立直角坐标系,然后怎样用matlab找出我所需要的目标物的像素坐标?

用ginput函数,就可以了。 第一是你把图片读入到MATLAB里, 再用hold on, [x,y]=gingput(2) 里面的数字是你要点几下的,点的时候也要特别的小心。

怎么在matlab里编一个程序,把直角坐标的点 转换成 极坐标的点

首先,matlab 本身提供了把直角坐标转化为极坐标的函数cart2pol。调用方法为:

[TH,R] = cart2pol(X,Y) TH 是极坐标的角度坐标,R 是距离坐标。

[TH,R,Z] = cart2pol(X,Y,Z) 这个函数同时支持3维直角坐标到柱坐标的转换。


如果因为是作业或者练习,一定要自己写一个的话,请继续往下看。

考虑到这个程序的性质,编成一个函数比较适合。编写这个函数需要用到直角坐标与极坐标的数学关系。考虑到输入参数可能是一个向量或矩阵,关系式里面的运算符应该用加点运算符。


函数代码如下:

function [ TH,R ] = mycart2pol(X,Y)

%this function transforms corresponding elements of data

%stored in Cartesian coordinates X,Y to polar coordinates

%angle TH and radius R.

R=(X.^2+Y.^2).^0.5;

TH=atan(Y./X);

end


测试结果如下:

数模菜鸟求救!如何用matlab读取bmp格式图片并显示在坐标系中而且求出每个像素点的坐标?

a=imread('图片名字.bmp'); %可以读入图片,a是数组二维数组或是三维数组; XY=size(a); %读取图片的像素,如:123X456,即图片宽123像素,高456像素,这个值是不你想要的坐标值?如果是彩色照片,XY为123X456X3的形式; image(a);%可以将刚才读入的图片显示出来 具体关于像素点的坐标值你看一下:http://zhidao.baidu.com/question/54025980.html 按我的理解,应该是没法显示的。 希望对你有用!

matlab中 如何获取整幅图像的像素值

matlab获取整幅图像的像素值的方法:用imread函数,输入M=imread('d:\10.JPG');即可。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

扩展资料:

Matlab参考函数

ones( )创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量

zeros()创建一个所有元素都为0的矩阵

eye()创建对角元素为1,其他元素为0的矩阵

diag()根据向量创建对角矩阵,即以向量的元素为对角元素

randn()创建随机矩阵,服从正态分布

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

matlab输出一张图片所有坐标和对应像素

closeall;clc;
%I=imread('lena.jpg');
I=imread('lena.bmp');
[m,n,p]=size(I);
ifp==3
fprintf('彩色图\n');
fprintf('x\ty\tR\tG\tB\n');
else
fprintf('灰度图\n');
fprintf('x\ty\tY\n');
end

fori=1:n
forj=1:m
ifp==3
fprintf('%d\t%d\t%d\t%d\t%d\n',i,j,I(i,j,1),I(i,j,2),I(i,j,3));
else
fprintf('%d\t%d\t%d\n',i,j,I(i,j));
end
end
end

灰度图
xyY
11136
12136
13133
14135

.....

彩色图
xyRGB
11227134116
12227134116
13227134116
14227134116
15227134116
16227134116

.....


标签:matlab 像素 图片 图像处理

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18