Matlab静态图像处理函数

打开图像:

%适用于GUI等交互 path为待打开的文件夹路径
[filename pathname]=uigetfile({'*.jpg;*.png;*.bmp;*.tif;*.*'},'载入图像',path);
if isequal (filename,0)|isequal(pathname,0)
    errordlg('没有选中文件','出错');
    return;
else
    file=[pathname,filename];

%常用,得到矩阵,path为图像路径
im = imread(path)

其它操作:(多基于:Image Processing Toolbox )

%图像取反:原图与取反后图像每点的和为255
f=imcomplement(im);

%对比度及亮度调整 immultiply:图像乘法,p1:对比度,p2:亮度
f=immultiply(im,p1)+p2;

%图像旋转 p1:旋转角度(num),指定了双线性插值,并要求将结果裁剪为与原始图像相同的大小。
f=imrotate(im,p1,'bilinear','crop');

%水平镜像 将图像左右翻转 left-right
f=fliplr(im);
%垂直镜像 将图像上下翻转 up-down
 f=flipud(im);
%绘制图像直方图
x=imhist(im);%直方图化x(i),第i个像素的值,并画出直方图的图像
x1=x(1:10:256);
horz=1:10:256;
bar(horz,x1);%bar(x,y),得到y在x点处画的图像,y与x对应
axis([0 256 0 1500]);
set(handles.axes2,'xtick',0:200:15000);
set(handles.axes2,'ytick',0:200:15000);

%通过直方图均衡化增强对比度
h=histeq(im);


GUI技巧:
1.在图像处理中,对原始图像,做global处理,便于“还原”,“撤销”,且结构清晰.

%当前图像用句柄表示,不断更新
handles.img = f;

2.各控件的回调函数中,hObject的值是不一样的,分别代表调用回调函数的控件的句柄,而handles结构却是一样的。这种机制便于figure内的不同控件的回调函数内传递数据。

%在回调函数中直接取当前对象的某种属性
str=get(hObject,'string');

3.对话框

%  prompt(提问)-含提问内容的cell array,’input‘-对话框title,
%  1-对话框num_lines,与prompt中包含的元素个数相同,提问的行数
%  defans-对话框defAns,定义的默认答案 eg:旋转中,defAns = 0
p=inputdlg(prompt,'input',1,defans);
p1 = str2num(p{1});
%设定对象位置时: position:[x,y,weight,height]
axis([0 255 0 1500]) %图像横轴到255,纵轴取值到1500
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值