【Matlab】图像裁剪函数imcrop的原点、长度、宽度问题

【Matlab】图像裁剪函数imcrop的原点、长度、宽度问题
【Matlab】图像裁剪函数imcrop的原点、长度、宽度问题

【Matlab】图像裁剪函数imcrop的原点、长度、宽度问题

Matlab中,函数imcrop用来裁剪图像,但有几个问题要探讨一下。

先说imcrop的简单用法:

I代表原图,RECT是裁剪区域。 RECT的形式是这样的:[XMIN YMIN WIDTH HEIGHT]

问:

区域RECT的原点是怎么定义的,或者说在哪?

区域RECT的长度和宽度,我写1023,输出的就是大小为1023的图像吗?

答:

1.原点:

左上角,大小从1开始,不是0!

2.长度和宽度

若有一个图像为N,在matlab中进行如下操作,imcrop的参数为[2,2,2,2],代表左上角坐标为[2,2],裁剪的长度为2,宽度为2。

这样看以为输出的结果应该是这样的:

实际上输出结果是这样的:

啊,长宽怎么比我们预想的多1啊?

没错,就是这样,当我们想要得到的结果大小为m n时,我们需要在设置参数的时候减1。比例要得到一个大小为22的结果,我要这样写:

Matlab 图像处理相关函数命令大全

Matlab 图像处理相关函数命令大全 一、通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig)

基于Matlab的彩色图像分割

用Matlab来分割彩色图像的过程如下: 1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像文件路径; 2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现; 3)对ab分量进行Kmean聚类。调用函数kmeans()来实现; 4)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示。Matlab程序源码 %文件读取 clear; clc; file_name = input('请输入图像文件路径:','s'); I_rgb = imread(file_name); %读取文件数据 figure(); imshow(I_rgb); %显示原图 title('原始图像'); %将彩色图像从RGB转化到lab彩色空间 C = makecform('srgb2lab'); %设置转换格式 I_lab = applycform(I_rgb, C); %进行K-mean聚类将图像分割成3个区域 ab = double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量 nrows = size(ab,1); ncols = size(ab,2); ab = reshape(ab,nrows*ncols,2); nColors = 3; %分割的区域个数为3 [cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3); %重复聚类3次 pixel_labels = reshape(cluster_idx,nrows,ncols); figure(); imshow(pixel_labels,[]), title('聚类结果'); %显示分割后的各个区域 segmented_images = cell(1,3); rgb_label = repmat(pixel_labels,[1 1 3]); for k = 1:nColors color = I_rgb; color(rgb_label ~= k) = 0; segmented_images{k} = color;

Matlab课设_图像的输入输出及格式转换

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:利用MATLAB仿真软件进行图像的输入、输出和格式变换 要求完成的主要任务: 读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换 课程设计的目的: 1.理论目的 课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。 2.实践目的 课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。 课程设计的要求: 每个学生单独完成课程设计内容,并写出课程设计说明书、给出程序清单,最后通过课程设计答辩。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签字:年月日

目录 摘要 ......................................................................................................................................... I Abstract ................................................................................................................................... II 1设计项目要求与说明 (1) 1.1设计项目要求 (1) 1.2Matlab简介及其在图像处理与分析的应用 (1) 1.2.1Matlab简介 (1) 1.2.2数字图像及其处理 (1) 1.2.3Matlab在图像处理与分析的应用 (3) 2软件流程分析 (6) 2.1图像的读取 (6) 2.2图像的显示 (6) 2.2.1以图像形式输出(图像的显示) (6) 2.2.2索引图像的显示 (7) 2.2.3灰度图像的显示 (7) 2.2.4二值图像的显示 (7) 2.2.5RGB图像的显示 (7) 2.2.6以图像文件的形式输出(图像文件形式之间的转换) (7) 2.3图像的保存 (8) 2.4图像类型的相互转换 (9) 2.4.1RGB图像→灰度图像 (9) 2.4.2RGB图像→索引图像 (9) 2.4.3RGB图像→二值图像 (9) 2.4.4索引图像→RGB图像 (9) 2.4.5索引图像→灰度图像 (10) 2.4.6灰度图像→索引图像 (10) 2.4.7灰度图像→二值图像 (10) 3调试分析 (11) 3.1图像读取 (11) 3.2图像显示 (12) 3.2.1索引图像显示 (12) 3.2.2灰度图像显示 (12) 3.2.3二值图像显示 (13) 3.2.4RGB图像显示 (13) 3.3图像类型的相互转换 (14)

matlab中图像函数大全

Matlab中图像函数大全 图像增强 除高频噪声 1、lps 2、中值滤波(非线性) 3、空域模板滤波 1. 直方图均衡化的 Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X,map) 就算和显示索引色图像 X 的直方图,map 为调色板。用 stem(x,counts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原图像中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamma) 调整索引色图像的调色板 map 。此时若 [low high] 和 [bottom top] 都为2×3的矩阵,则分别调整 R、G、B 3个分量。 1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...)

基于MATLAB的图像分割方法及应用

安徽财经大学 (《图像处理》课程论文) 题目:图像分割算法研究——基于分水岭分割法的彩色图像分割学院:管理科学与工程学院 专业:电子信息工程 姓名:万多荃 学号:20123712 电话: 任课教师:许晓丽 论文成绩: 2015年10月

目录 摘要 图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。

本文根据图像分割原理及人眼视觉的基本理论,研究图像的彩色模型及图像分割的常用方法,比较各方法的特点,并选择合适的方法对图像进行分割。本文采用MATLAB软件对图像进行彩色坐标变换及阈值分割,计算简单,具有较高的运行效率,分割的结果是使图像更符合人眼的视觉特性,获得比较好的效果。 关键字:图像处理;图像分割;人类视觉;MATLAB 1.前言 1.1图像分割技术 图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。 图像数据的模糊和噪声的干扰是分割问题的两大难题。到目前为止,还没有一个完美的图像分割方法,可以根据人的意愿精确地分割任何一种图像。现实图像中景物情况各种不同,具体问题需具体分析,按照实际情况选择得当的方法。分割成果的好坏或正确与否,到现在为止,尚无一个统一的评价和判断标准,分割的好坏务必从分割的效果和现实应用的场合来判断。然而,在人类研究图像的历史长河中,仍然积累了许多经典的图像分割方法。固然这些分割方法不可以适应全部种类的图像分割,可是这些方法却是图像分割方法进一步发展的根基。实际上,当代一些分割算法恰巧是从经典的图像分割方法中产生出来的。图像分割法大致可以分为三个种:边缘检测法,阈值分割法和基于区域的图像分割法。 2研究目的 视觉是人类最高级的感知器官,所以图像在人类感知中承担着非常重要的角色,这是毋庸置疑的。 本文的主要研究目的是对图像的分割方法进行研究,选择适合本论文的设计方法,然后通过对图像的分割,以达到人眼的最佳视觉效果。 本课题主要是通过对人眼的视觉系统研究,然后选择与人眼视觉系统密切相关的颜色模型进行颜色空间模型之间的相互转换,再对图像分割方法进行比较选择合适的分割方法,通过MATLAB平台实现彩色图像分割,最后对分割后的图像进行比较来获得到最佳的视觉效果。

MATLAB仿真软件进行图像的输入、输出和格式变换

目录 摘要................................................................ I Abstract........................................................... II 1 图像文件格式及图像类型.. (1) 1.1 MATLAB支持的几种图像文件格式: (1) 1.2 matlab几种图像类型 (2) 2 图像的输入 (4) 3.图像的输入 (6) 3.1以图像形式输出(图像的显示) (6) 3.1.1索引图像的显示 (6) 3.1.2灰度图像的显示 (7) 3.1.3二值图像的显示 (8) 3.1.4 RGB图像的显示 (8) 3.2以图像文件的形式输出 (9) 4 图像的保存 (11) 5 图像类型转换 (13) 5.1 RGB转换成灰度图像 (13) 5.2 灰度图像转换为索引图像 (13) 5.3 灰度图像转化为二值图像 (14) 5.4 RGB图像转化为索引图像 (15) 6 课设总结 (16) 参考文献 (17) 附录 (18) 附录1:图像显示代码 (18) 附录2:图像转换代码 (19)

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB 本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。 本次课程设计介就是Matlab环境下的一些最基本的图像处理操作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。 关键词:MATLAB ;图像处理;图像转换

MATLAB图像处理相关函数

一、通用函数: colorbar显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig) warp 将图像显示到纹理映射表面 语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...) \ h=warp(...) zoom 缩放图像 语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom xon \ zoom yon\ zoom(factor) \ zoom(fig,option) 二、图像文件I/O函数命令 imfinfo 返回图形图像文件信息 语法:info=imfinfo(filename,fmt) \ info=imfinfo(filename) imread 从图像文件中读取(载入)图像 语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \

部分图像分割的方法(matlab)

部分图像分割的方法(matlab)

大津法: function y1=OTSU(image,th_set) image=imread('color1.bmp'); gray=rgb2gray(image);%原图像的灰度图 low_high=stretchlim(gray);%增强图像,似乎也不是一定需要gray=imadjust(gray,low_high,[]); % subplot(224);imshow(gray);title('after adjust'); count=imhist(gray); [r,t]=size(gray); n=r*t; l=256; count=count/n;%各级灰度出现的概率 for i=2:l if count(i)~=0 st=i-1; break end end %以上循环语句实现寻找出现概率不为0的最小灰度值 for i=l:-1:1 if count(i)~=0; nd=i-1; break end end %实现找出出现概率不为0的最大灰度值 f=count(st+1:nd+1); p=st;q=nd-st;%p和分别是灰度的起始和结束值 u=0; for i=1:q; u=u+f(i)*(p+i-1); ua(i)=u; end

程序二: clc; clear; cd 'D:\My Documents\MATLAB' time = now; I = imread('qr4.bmp'); figure(1),imshow(I),title('p1_1.bmp'); % show the picture I2 = rgb2gray(I); figure(2),imshow(I2),title('I2.bmp'); %?D?μ??2¨ J = medfilt2(I2); figure(3),imshow(J); imwrite(J,'J.bmp'); [M N] = size(J); J1 = J(1:M/2,1:fix(N/2)); J2 = J(1:M/2,fix(N/2)+1:N); J3 = J(M/2+1:M, 1:fix( N/2)); J4 = J(M/2+1:M, fix(N/2)+1:N); % figure(4), img = J1; T1 = test_gray2bw( img ); % figure(5), img = J2; T2 = test_gray2bw( img ); % figure(6), img = J3; T3 = test_gray2bw( img ); % figure(7), img = J4; T4 = test_gray2bw( img ); T = [T1,T2;T3,T4]; figure,imshow(T) % T1 = edge(T,'sobel'); % figure,imshow(T1); % BW = edge(T,'sobel'); % f igure,imshow(BW); function [bw_img] = test_gray2bw( img ) %大津法 [row_img col_img ] = size( img ) all_pix = row_img * col_img % get probability of each pixel(????). count_pix = zeros(1,256) % pro_pix = [] for i = 1 : 1 : row_img for j = 1 : 1 : col_img count_pix(1,img(i,j)+1) = count_pix(1,img(i,j)+1) + 1 %í3??′?êy end en d pro_pix = count_pix / all_pix % choose k value; max_kesi = -1 T = 0 for k = 1 : 1 : while( i <= k ) wa = wa + pro_pix(1,i+1) %?°k??i£?????????μ??ò?è???ê£????êoí ua = ua + i * pro_pix(1,i+1) i = i + 1 end

matlab图像输出设置

核心方法:通过图像设置命令,直接指定图片的大小。 具体操作: (1) 完成画图及相关设置(字体大小、线宽、图例大小也是正常尺寸), (2) 此时WindowStyle is 'docked',要改为normal,有两种操作: 1)在Figure properties——more properties中找到 Windowstyle,然后用鼠标改为normal; 2)或者直接用命令: set (gcf,'windowstyle','normal') (3) 根据排版要求,确定图片的宽高,例如320*320 像素,然后使用命令 set (gcf,'Position',[500,300,320,320]) set(gcf,'Units','centimeters','Position',[100 100 98]); % figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。 (4) 使用copy figure将图片输出到Word 1.figure; 2.hold on; 3.set(gca, 'YTick', [0 : 0.2 : 1]); 4.box off; 5.set(gca, 'YTickLabel', {'matlab1', 'matlab2', 'matlab3',... 6. 'matlab4', 'matlab5', 'matlab6'}) 1.hold on 2.xL=xlim; 3.yL=ylim; 4.plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k') 5.box off 6.axis([xL yL])

Matlab画函数图像

用Matlab画函数图像 一、螺旋线 1.静态螺旋线 a=0:0.1:20*pi; h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2); axis([-50,50,-50,50,0,150]); grid on set(h,'erasemode','none','markersize',22); xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('静态螺旋线'); 2.动态螺旋线 t=0:0.1:10*pi; i=1; h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none'); grid on axis([-2 2 -2 2 0 35]) for i=2:length(t)

set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i)); drawnow pause(0.01) end title('动态螺旋线'); (图略) 3.圆柱螺旋线 t=0:0.1:10*pi; x=r.*cos(t); y=r.*sin(t); z=t; plot3(x,y,z,'h','linewidth',2); grid on axis('square') xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('圆柱螺旋线') 二、旋转抛物面

b=0:0.2:2*pi; [X,Y]=meshgrid(-6:0.1:6); Z=(X.^2+Y.^2)./4; meshc(X,Y,Z); axis('square') xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('旋转抛物面') 或直接用:ezsurfc('(X.^2+Y.^2)./4') 三、椭圆柱面 load clown ezsurf('(2*cos(u))','4*sin(u)','v',[0,2*pi,0,2*pi]) view(-105,40) %视角处理 shading interp %灯光处理 colormap(map) %颜色处理 grid on %添加网格线 axis equal %使x,y轴比例一致 xlabel('x轴');ylabel('y轴');zlabel('z轴'); %添加坐标轴说明title('椭圆柱面') %添加标题

用MatLab制作的几个数学函数图像

文字加注: x=-1.5:0.001:1.5; y=(x.^2-1).^3+1; plot(x,y) title('\fontsize{14}\fontname{宋体}函数图像:y=(x^2-1)^3+1') xlabel('\fontsize{14}x'),ylabel('\fontsize{14}y') text(-1,1.1,'\fontsize{8}点(1,1)处倒数为零,但无极值') x=-10:1:10; y=-(x-5).^2+2; [y_max,x_max]=max(y); num2str(y_max); num2str(x_max); plot(x,y) hold on plot(y_max,t_max,'r.') hold off 字符串的应用: a=2; w=3; t=0:0.01:10; y=exp(-a*t).*sin(w*t); [y_max,t_max]=max(y); t_text=['t=',num2str(t (t_max))]; y_text=['y=',num2str(y_max)]; max_text=char('maxinum',t_text,y_text); tit=['字符串的应用:y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)']; hold on plot(t,y,'b') plot(t(t_max),y_max,'r.')%最大值处以红点标示 text(t(t_max)+0.3,y_max+0.05,max_text) title(tit),xlabel('t'),ylabel('y') hold off 求近似极限,修补图形缺口: t=-2*pi:pi/10:2*pi; y=sin(t)./t; tt=t+(t==0)*eps;%逻辑数组参与运算,用“机械零”代替零元素 yy=sin(tt)./tt;%用数值可算的sin(eps)/eps近似替代sin(0)/0 subplot(1,2,1),plot(t,y),title('残缺图形 '),xlabel('t'),ylabel('y'),axis([-7,7,-0.5,1.2]) subplot(1,2,2),plot(tt,yy),title('正确图形 '),xlabel('tt'),ylabel('yy'),axis([-7,7,-0.5,1.2])

部分图像分割的方法(matlab)

大津法: function y1=OTSU(image,th_set) image=imread('color1.bmp'); gray=rgb2gray(image);%原图像的灰度图 low_high=stretchlim(gray);%增强图像,似乎也不是一定需要gray=imadjust(gray,low_high,[]); % subplot(224);imshow(gray);title('after adjust'); count=imhist(gray); [r,t]=size(gray); n=r*t; l=256; count=count/n;%各级灰度出现的概率 for i=2:l if count(i)~=0 st=i-1; break end end %以上循环语句实现寻找出现概率不为0的最小灰度值 for i=l:-1:1 if count(i)~=0; nd=i-1; break end end %实现找出出现概率不为0的最大灰度值 f=count(st+1:nd+1); p=st;q=nd-st;%p和分别是灰度的起始和结束值 u=0; for i=1:q; u=u+f(i)*(p+i-1); ua(i)=u; end

%计算图像的平均灰度值 for i=1:q; w(i)=sum(f(1:i)); end %计算出选择不同k的时候,A区域的概率 d=(u*w-ua).^2./(w.*(1-w));%求出不同k值时类间方差[y,tp]=max(d);%求出最大方差对应的灰度级 th=tp+p; if thth) y1(i,j)=x1(i,j); else y1(i,j)=0; end end end %上面一段代码实现分割 % figure,imshow(y1); % title('灰度门限分割的图像');

MATLAB图像操作命令大全

MATLAB常用图像操作 一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件。 2. imwrite imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3. imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif') 二. 图像的显示 1. image image函数是MATLAB提供的最原始的图像显示函数(主要彩色显示图象),如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2. imshow imshow函数用于灰度图像文件的显示,如: i=imread('e:\w01.tif'); imshow(i); 3. colorbar colorbar函数用显示图像的颜色条。 通常,颜色映象进行过调节,把数据从最小扩展到最大,也就是说整个颜色映象都用于绘图。有时也许想改变颜色使用的方法。函数caxis代表颜色轴,因为颜

色增加了另一个维数,它允许对数据范围的一个子集使用整个颜色映象或者对数据的整个集合只使用当前颜色映象的一部分。 [cmin,cmax]=caxis返回映射到颜色映象中第一和最后输入项的最小和最大的数据。它们通常被设成数据的最小值和最大值。比如,函数mesh(peaks) 会画出函数peaks的网格图,并把颜色轴caxis设为[-6.5466,8.0752],即Z的最小值和最大值。这些值之间的数据点,使用从颜色映象中经插值得到的颜色。如:i=imread('e:\w01.tif'); imshow(i); colorbar; 4 .figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5.imagesc(a); caxis([-3 8]) ; colorbar; 标尺标度从-3,到8 显示标度尺。 三. 图像的变换 1. fft2 fft2函数用于数字图像的二维傅立叶变换,如: i=imread('e:\w01.tif'); j=fft2(i); 2. ifft2 ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('e:\w01.tif'); j=fft2(i);

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

Matlab中图像函数大全 2

Matlab中图像函数大全2 matlab 2009-10-26 21:08:13 阅读900 评论0 字号:大中小订阅 边学边和大家交流,我将我在学习中搜集到的资料和大家分享! 图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE = strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1 = strel('square',6) % 创建6*6的正方形 se2 = strel('line',10,45) % 创建直线长度10,角度45 se3 = strel('disk',15) % 创建圆盘半径15 se4 = strel('ball',15,5) % 创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) [BW,xi,yi] = roipoly(...) [x,y,BW,xi,yi] = roipoly(...) BW = roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW = roipoly(I)表示建立交互式的处理界面。 BW = roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I = imread('eight.tif'); c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75]; BW = roipoly(I,c,r); imshow(I) figure, imshow(BW) 图像处理函数详解——roifilt2 功能:用于对一个区域进行滤波。 用法:J = roifilt2(h,I,BW) J = roifilt2(I,BW,fun) J = roifilt2(I,BW,fun,P1,P2,...) J = roifilt2(h,I,BW)表示使用滤波器h对图像I中用二值掩模BW选中的区域滤波。BW为和I大小相同的二值图像。

基于Matlab的彩色图像分割

3 Matlab编程实现 3.1 Matlab编程过程 用Matlab来分割彩色图像的过程如下: 1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像文件路径; 2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现; 3)对ab分量进行Kmean聚类。调用函数kmeans()来实现; 4)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示。3.2 Matlab程序源码 %文件读取 clear; clc; file_name = input('请输入图像文件路径:','s'); I_rgb = imread(file_name); %读取文件数据 figure(); imshow(I_rgb); %显示原图 title('原始图像'); %将彩色图像从RGB转化到lab彩色空间 C = makecform('srgb2lab'); %设置转换格式 I_lab = applycform(I_rgb, C); %进行K-mean聚类将图像分割成3个区域 ab = double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量 nrows = size(ab,1); ncols = size(ab,2); ab = reshape(ab,nrows*ncols,2); nColors = 3; %分割的区域个数为3 [cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3); %重复聚类3次 pixel_labels = reshape(cluster_idx,nrows,ncols); figure(); imshow(pixel_labels,[]), title('聚类结果'); %显示分割后的各个区域 segmented_images = cell(1,3); rgb_label = repmat(pixel_labels,[1 1 3]); for k = 1:nColors

Matlab中图像函数大全2010(免费版)分析

Matlab中图像函数大全 abs 绝对值、模、字符的ASCII码值acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令brighten 亮度控制

capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函数 cond (逆)条件数 condeig 计算特征值、特征向量同时给出条件数condest 范-1条件数估计 conj 复数共轭 contour 等位线 contourf 填色等位线

车牌图像分割matlab代码

图像分割matlab代码 作者:佚名发布时间:2010-1-1 阅读次数:498 字体大小: 【小】【中】【大】 % This is a program for extracting objects from an image. Written for vehicle number plate segmentation and extraction % Authors : Jeny Rajan, Chandrashekar P S % U can use attached test image for testing % input - give the image file name as input. eg :- car3.jpg clc; clear all; k=input('Enter the file name','s'); % input image; color image im=imread(k); im1=rgb2gray(im); im1=medfilt2(im1,[3 3]); %Median filtering the image to remove noise% BW = edge(im1,'sobel'); %finding edges [imx,imy]=size(BW); msk=[0 0 0 0 0; 0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 0 0 0 0;]; B=conv2(double(BW),double(msk)); %Smoothing image to reduce the number of connected components L = bwlabel(B,8);% Calculating connected components mx=max(max(L)) % There will be mx connected components.Here U can give a value between 1 and mx for L or in a loop you can extract all connected components % If you are using the attached car image, by giving 17,18,19,22,27,28 to L you can extract the number plate completely. [r,c] = find(L==17); rc = [r c]; [sx sy]=size(rc);

相关文档
最新文档