• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

使用matlab进行图像处理的一些常用操作和tip

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  本人还是习惯使用Python语言,有时候不得不使用matlab的时候就变得举步维艰,下面记录一下使用matlab进行图像处理的一些常用操作以及代码,方便之后查阅:

  1. 图像的读取

%% 读取原图像
im = imread(\'Alan_Turing.jpg\');
im = double(im);

  图像需要使用imread来读取,然后图像通常会被转化成double类型,以便后续的操作。

  

  2. 读取图像的参数

%% 读取图像的参数
[m,n] = size(im);
A = zeros(m,n);

  matlab函数的返回值有多个的时候,要使用[m, n]这种风格来承接,如果不想接受某个返回,可用~波浪线替代

 

  3. matlab的循环操作

%% For循环
for i = 1:num
    ~~~~~~
end

  matlab中可没有那么方便的iteration操作,for 循环的风格是上面这样的。

 

  4. matlab写入图像

imwrite(uint8(temp), sprintf(\'imgs/%d.jpg\', i));

  matlab写入图像很简单,使用imwrite函数,前面是uint8的矩阵,后面是路径。注意了,这里使用了sprintf来弄出格式化的字符串文件名。

 

  5. matlab作图拼图

%% 作图拼图
figure(1);
imshow(uint8(im));title(\'原图\');axis on

figure(2); 
subplot(241); imshow(uint8(squeeze(im_list(1,:,:)))); title(\'k=2\'); axis off
subplot(242); imshow(uint8(squeeze(im_list(2,:,:)))); title(\'k=4\'); axis off

  figure()函数就是生成画布的啦,然后使用画笔imshow在画布上作图,title,axis on(off),xlabel,ylablel分别指定图名,是否画坐标轴刻度,x,y打什么标签。

  当有多个子图的时候需要使用subplot来生成子图,注意这里imshow的都是uint8格式(因为我们是RGB呀)。squeeze是去除维度为1的维。以及一个数组的表示,Python中是A[1,2,3],matlab中则是A(1,2,3)。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi之字符串截取发布时间:2022-07-18
下一篇:
关于Delphi中的字符串的浅析发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap