matlab利用经纬度计算距离_matlab 中如何实现经纬度距离批量计算?谢谢

本文介绍如何在MATLAB中批量处理图像,特别是在需要根据经纬度计算图像间的地理位置距离时。通过示例代码展示了如何读取不同格式的图像,转换为灰度,并批量保存。在处理过程中,遇到的错误和解决方案也被提及。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Matlab中实现批量处理图像 (2011-01-09 09:11:21)转载▼

有时候,我的采集到了很多的图像,但是图像并不是我们想要的,即图像还要经过一系列的转换才是我们要的,于是,你就处理采集到的图像,采集到了100张图像,你需要100次处理,每一次都需要你打开图像、处理和保存图像,显而易见,这种方法很是麻烦,于是,你就想可不可以批量处理啊……哈哈……你对了,可以的……批量转换图像格式为例,具体程序如下:

clc;clear;

pathname=uigetdir(cd,'请选择文件夹');

if pathname==0

msgbox('您没有正确选择文件夹');

return;

end

% 可以打开几乎所有的图像类型,哈哈……全了……

filesbmp=ls(strcat(pathname,'\*.bmp'));

filesjpg=ls(strcat(pathname,'\*.jpg'));

filesjpeg=ls(strcat(pathname,'\*.jpeg'));

filesgif=ls(strcat(pathname,'\*.gif'));

filestif=ls(strcat(pathname,'\*.tif'));

filespng=ls(strcat(pathname,'\*.png'));

files=[cellstr(filesbmp);cellstr(filesjpg);...

cellstr(filesjpeg);cellstr(filesgif);...

cellstr(filestif);cellstr(filespng)];

len=length(files);

flag=[];

% 开始批量处理图像,转换格式

for ii=1:len

if strcmp(cell2mat(files(ii)),'')

continue;

end

Filesname{ii}=strcat(pathname,'\',files(ii));

page{ii}=imread(cell2mat(Filesname{ii}));

if length(size(page{ii}))==3 %图像为彩色RGB,进行转换

page1{ii}=rgb2gray(page{ii});

flag=[flag ii]; %用于存储被处理图像的在数组举证中的索引

end

end

% 批量保存转换后的图片

for ii=1:length(flag)

fname_temp=cell2mat(Filesname{flag(ii)});

dot=strfind(fname_temp,'.');

fname_temp=fname_temp(1:dot(end)-1);

FileName=strcat(fname_temp,'彩色TO灰度.jpg');

imwrite(page1{flag(ii)},FileName );

end

success……哈哈……

亲,我运行你的code的时候有错误,因为我刚开始用matlab所以不是很明白错在哪里。

我选择了一个文件夹后就弹出下面的错误,我的文件夹叫filestif 里面全部都是tif图片。 求指教,谢谢你吆

Error using ls (line 36)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值