matlab
csdn_1HAO
从事图像处理与模式识别,深度学习;常用工具vs,matlab,python,tensorflow,opencv,pytorch
展开
-
matlab imfill孔洞填充
BW2 = imfill(BW)作用填充二值图像BW中的空洞 clear all; clc; close all;img = imread('test1.png');if ndims(img)==3 img = rgb2gray(img);endimg_bw = im2bw(img);img_fill = imfill(img_bw, 'holes');...原创 2018-08-14 20:19:45 · 31647 阅读 · 1 评论 -
matlab regionprops区域属性信息
stats = regionprops(L,properties)返回的stats为一个结构体struct测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS是一个长度为max(L(:))的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。propertie...原创 2018-08-14 20:18:05 · 2320 阅读 · 0 评论 -
matlab 判断对象的数据类型isa()
K = isa(obj, 'class_name') 判断obj是否为class_name类型。如果是,返回逻辑1(真);如果不是,返回逻辑0(假)。参量obj是一个MATLAB对象或者Java对象。参量class_name是MATLAB(预定义的或用户定义的)对象或Java对象。预定义的MATLAB对象包括如下类型:logical 逻辑数组char ...原创 2018-08-14 20:13:33 · 16077 阅读 · 0 评论 -
matlab sort对矩阵某一维进行排序并记录之前索引
sort函数默认升序排列,即‘ascend’; [B, index] = sort(A,dim, model) B为排序后矩阵index记录排序前的索引号 A需要进行排序操作的矩阵dim对矩阵的维度(一维不用指定,二维默认对列)model排序的模式,升序‘ascend’;‘descend’(默认‘ascend’) >> [B, index...原创 2018-08-03 12:30:40 · 16506 阅读 · 0 评论 -
matlab 中括号
中括号用来构建向量(Vectors)或者是矩阵(Matrices)。如[6.9 9.64 sqrt(-1)] 就是一个有三个元素的向量。[11 12 13; 21 22 23] 是个2*3的矩阵. 分号(;)用来结束一行。中括号的另一个作用是在函数中,分配输出参数。Matlab 方括号“[ ]”的作用1定义矩阵(向量,数组)。 例如 a=[1 2 3;4 5 6]2.定义函数的返回原创 2018-01-05 17:23:44 · 3228 阅读 · 0 评论 -
matlab 大括号
大括号,用于cell型的数组的分配或引用。>> a=cell(2,1)a = [] []>> a(1,1)=[2,3,4,0;5,6,7,8];无法从 double 转换为 cell。 >> a(1,1)={[2,3,4,0;5,6,7,8]};>> a(2,1)={'str'};>> aa =原创 2018-01-05 17:23:17 · 2697 阅读 · 0 评论 -
matlab 小括号
大括号 用于单元阵列的赋值 中括号 用于形成一个向量或矩阵小括号 通常用于一般的算术表达式,指示优先运算,还用于表示函数变量、向量下标和矩阵下标等到小括号,用于引用数组的元素。如 X(3)就是X的第三个元素。 X([1 2 3])就是X的头三个元素。算例:A = [ 1 2 3 ]%A就是一个三个元素的数值数组。中括号用于构建非cell数组。%数组的引用原创 2018-01-05 17:22:57 · 2816 阅读 · 0 评论 -
matlab figure被图像填充
img=imread('3.jpg');img=rgb2gray(img);figure(1);%figure名字为 Figure 1figure('name','第一');%figure名字为 Figure:第一figure('NumberTitle','off','Name','原图');%figure名字为原图[cols,rows]=size(img);set (gc原创 2017-12-29 15:23:29 · 3888 阅读 · 0 评论 -
matlab save将变量值保存为mat
将变量a的值保存到.mat文件中save('object.mat','a')原创 2017-11-15 10:29:13 · 8863 阅读 · 0 评论 -
matlab imwrite将图像保存到其他目录
%读入C:\desktop 文件夹下图片test.jpgimg=imread('C:\desktop\test.jpg');%用imwrite将图片写入到D:\目标 文件夹下,并重命名为img_propose.jpgimwrite(img,'D:\目标\img_propose.jpg'); ...原创 2017-11-15 10:27:00 · 6482 阅读 · 1 评论 -
matlab区分卷积和相关
区分卷积和相关图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、窗口等。空间滤波可以分为线性滤波和非线性滤波。非线性滤波常见的有中值滤波、最大值滤波等,相当于自定义一个函数,在数学上由于不满足线性变换因此叫做非线性滤波。这里不细研究它。线性滤波则通常是:将模转载 2017-11-12 16:21:24 · 1956 阅读 · 0 评论 -
matlab bwlabel标记连通区域
[L,num] = bwlabel(BW,n)这里num返回的就是BW中连通区域的个数。返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。 通俗的说,这个函数的作用是用来找这个二值图像中的连通区域的,对于不同的符合条件的连通区域(4连通,8连通)分...原创 2018-08-14 20:24:53 · 3459 阅读 · 0 评论 -
matlab imhist灰度直方图
imhist()函数显示图像直方图要求图像是二维的灰度图像。1.h = imhist(I):直接显示灰度图像I的直方图2.h = imhist(I,b):b是用来形成直方图的‘容器’的数目,默认256。3.h = imhist(X,map):显示索引图像的直方图,此直方图显示颜色映射图上色条上方的像素值分布4.[counts,x] = imhist(I):count为每一级灰度像素...原创 2018-10-15 13:13:26 · 4496 阅读 · 0 评论 -
matlab 城市间最短路径
clear all;clc;close all;%最短路径代码,输入:起点+空格+终点(大写字母,如:A F)% 输出最短路径值d 最短路径路线% W为一个对称矩阵,如果不能直接到达距离为inf% 本例中A到B距离为12; A到F距离为0; B到C距离为10;% C到D距离为3; C到E距离为5; C到F距离为6; D到E距离为4; E到F距离为2;W=[ 0 ...原创 2019-09-19 16:11:29 · 2112 阅读 · 0 评论 -
matlab 字符串处理
% 字符串处理a=' a';b='b b';c='cccc';m=''% 获取字符串长度length(a) % 连接两个字符串,每个字符串最右边的空格被裁切d=strcat(a,c) length(d)% 连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格% 使与最长字符串相等,会忽略空字符串e=strvcat(a,b,m)size(e)% char连接,...原创 2018-12-05 16:49:41 · 2361 阅读 · 0 评论 -
matlab 去除pdf文档水印
1用pdf shaper将pdf转为图片;2用matlab程序去水印代码如下;3将去除水印的图片通过pdf shaper转为pdf. 1_1.jpg为要去除水印pdf文档2_1.jpg为空的pdf文档test_1.jpg为去除水印的图片img_1 = imread('1_1.jpg');img_2 = imread('2_1.jpg');img_3 = img_...原创 2018-12-04 20:38:13 · 2346 阅读 · 0 评论 -
matlab的输出(命令窗口、fprint函数、disp函数)
命令窗口直接输出,MATLAB的默认格式是精确到小数点后4位。如果一个数太大或太小,那么将会以科学记数法的形式显示。比如:format stytle改变默认输出格式要用到format命令,可根据下表改变数据的输出格式显示数值格式 Stytle 解释 示例 short (default) 默认...原创 2018-12-04 20:38:43 · 175108 阅读 · 0 评论 -
matlab exist()判断目录文件是否存在
if exist('abc.doc','file')==0 error(display('文件不存在'));end判断当前目录中是否存在x文件夹,若不存在则创建if exist('x','dir')==0 mkdir('x');end原创 2018-10-18 22:10:22 · 14970 阅读 · 0 评论 -
Ostu最大类间差方法
Ostu方法又名最大类间差方法,通过统计整个图像的直方图特性来实现全局阈值T的自动选取,其算法步骤为:1) 先计算图像的直方图,即将图像所有的像素点按照0~255共256个bin,统计落在每个bin的像素点数量2) 归一化直方图,也即将每个bin中像素点数量除以总的像素点3) i表示分类的阈值,也即一个灰度级,从0开始迭代4) 通过归一化的直方图,统计0~i 灰度级的像素(假...原创 2018-10-15 13:14:25 · 925 阅读 · 0 评论 -
matlab norm向量和矩阵的范数
一、向量的范数 首先定义一个向量为:a=[-5,6,8, -10]1.1 向量的1范数 向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为:norm(a,1);1.2 向量的2范数 向量的2范数即:向量的每个元素的平方和再开平方根,上述a的2范数结果就是:15,MATLAB代码实现为:norm(a,2);...原创 2018-11-12 12:10:01 · 4294 阅读 · 0 评论 -
matlab reshape矩阵维度变换
B = reshape(A,m,n) 将矩阵A的元素返回到一个m×n的矩阵B。如果A中没有m×n个元素则返回一个错误。 B = reshape(A,m,n,p,...) or B =reshape(A,[m n p ...]) 把A中元素进行重塑成m×n×p×…的矩阵,特别地,指定的维数m×n×p×…的积必须与prod(size(A))相同。 B = r...原创 2018-10-15 13:14:37 · 31261 阅读 · 0 评论 -
matlab rgb2gray的实现
rgb2gray是matlab内部一种处理图像的函数,通过消除图像色调和饱和度信息同时保留亮度实现将将RGB图像或彩色图转换为灰度图像,即灰度化处理的功能,调用这个功能的格式是I = rgb2gray(RGB),意思是将真彩色图像RGB转换为灰度强度图像I 。 灰度化处理有多种处理方式:分量法 最大法 平均法 加权平均法。这里,Matlab的rgb2gray函数采用的是对R、G、B分量进行...原创 2018-11-12 12:10:13 · 19535 阅读 · 0 评论 -
matlab 图像坐标系
matlab 图像中图像坐标系与plot、 imrotate坐标系的区别 图像坐标系是以图像左上角为原点,访问图像像素点img(m,n),如下图所示: plot的坐标系,以图像左上角为原点,在图像中划线时,plot(x,y),如下图所示: 图像旋转时,有时候需要求图像中两点间的斜率,求斜率坐标系依然以图像左上角为原点,如下图所示 示例...原创 2018-10-15 13:12:44 · 16966 阅读 · 1 评论 -
matlab impyramid图像金字塔
B = impyramid(I, direction)direction 可取‘reduce’或‘expand’,表示图像的宽度与高度缩小为原来的1/2与变大为原来的2倍原创 2018-10-15 13:13:03 · 4430 阅读 · 0 评论 -
matlab function的使用
首先创建一个m文件;Matlab函数定义格式,用关键字function定义函数 function [输出变量] = 函数名称(输入变量)% 注释% 函数体 简单的函数如下: function [a,b,c]=test(d,e,f)a=d+e;b=e+f;c=f+d;end 函数的调用: [q,w,e]=test(1,2,3)原创 2017-11-12 10:19:29 · 170663 阅读 · 3 评论 -
matlab 获取视频图像的信息
获取视频图像的信息可以通过get函数来获取,如get(vid)或者get(getselectedsource(vid))。使用set函数可以设置摄像头获取的图像的一些属性值,也可以直接使用结构数组的“点”来赋值,比如,要持续通过摄像头获取图像,则可以将TriggerRepeat的值设置为Inf(无穷),一下两个代码等价:1. set(vid,'TriggerRepeat',Inf); ...转载 2017-10-23 10:39:29 · 2715 阅读 · 0 评论 -
matlab gradient
gradient函数>> x=[6,9,3,4,0;5,4,1,2,5;6,7,7,8,0;7,8,9,10,0]x = 6 9 3 4 0 5 4 1 2 5 6 7 7 8 0 7 8 9 10 0>> [Fx,Fy...转载 2017-10-23 10:36:27 · 679 阅读 · 0 评论 -
matlab conv2
conv2函数----------------------------------------1、用法1. C=conv2(A,B,shape); %卷积滤波A:输入图像,B:卷积核 假设输入图像A大小为ma x na,卷积核B大小为mb x nb,则 当shape=full时,返回全部二维卷积结果,即返回C的大小为(ma+mb-1)x(na+nb-1...转载 2017-10-23 10:35:48 · 478 阅读 · 0 评论 -
matlab sub2ind与ind2sub
sub2ind与ind2sub函数A = [1 2 3; 4 5 6;7,8,9];>> f=sub2ind(size(A), 2, 3)f = 8即把矩阵A中第二行第三列的元素的全下标标识(2,3)转换为对应的单下标标识8,即该元素从第一列顺次数过去是第八号元素。而ind2sub则用于把矩阵中元素单下标标识转换为该元素在矩阵中对应的全下标标识。例如,[i,j]...转载 2017-10-23 10:34:54 · 837 阅读 · 0 评论 -
matlab find
find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)find(A)返回矩阵A中非零元素所在位置>> A = [1 0 4 -3 0 0 0 8 6];>> X = find(A)X = 1 3 4 8 9find(A&g...转载 2017-10-23 10:33:54 · 663 阅读 · 0 评论 -
matlab bwdist
bwdist函数用于计算元素之间的距离。举个例子:如果a= 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 那么: [D,L]=bwdist(a); D= 1.4142 1.0000 1.0000 1.0000 1.4142 1.0000 0 0 0 1.0000 1.0000 0 0 0 1.0000 1.0000 0 0 0 1.00...转载 2017-10-23 10:33:13 · 1008 阅读 · 0 评论 -
matlab im2double
im2double函数,如果输入是 uint8 unit16 或者是二值的logical类型,则函数im2double 将其值归一化到0~1之间。转载 2017-10-23 10:31:51 · 911 阅读 · 0 评论 -
matlab linspace
用法:linspace(x1,x2,N) 功能:linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、中止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspace可以获得该函数的帮助信息。例一: 在matlab的命令窗口输入: X=lins...转载 2017-10-23 10:31:16 · 1788 阅读 · 1 评论 -
matlab imrotate图像旋转
B = imrotate(A,angle) 将图像A(图像的数据矩阵,既可以是灰度图像,也可以是RGB图像)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。 B = imrotate(A,angle,method) 使用method参数可以改变插值算法,method参数可以为下面这三个值(默认‘nearest’): ‘nearest’:最邻...原创 2017-10-23 10:30:07 · 7165 阅读 · 0 评论 -
matlab imresize对图像进行缩小放大
matlab中函数imresize简介:函数功能:该函数用于对图像做缩放处理。调用格式:B = imresize(A, m)返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。B = imresize(A, [numrows numcols])numrows和numcols分别指定目标图像的高度和宽度。 显而易见,由于这种格式允许图像缩...转载 2017-10-23 10:29:29 · 18823 阅读 · 0 评论 -
matlab imfinfo返回图像信息
语法:info = imfinfo(filename,fmt) %输入图像名,图像的格式info = imfinfo(filename)%输入图像名 示例程序:info = imfinfo('C:\test1.jpg') %返回图像信息,注意:输入·必须字符串info.Width ...转载 2017-10-23 10:28:53 · 4538 阅读 · 0 评论 -
matlab persistent静态变量
persistent关键字说明;matlab中persistent定义为一个静态变量,程序结束静态变量内存不释放,只有在matlab程序关闭时,静态变量的内存才被清除。当程序结束时,不希望变量的值被清空,这时可以用persistent关键字。定义一个名为a的静态变量 ,代码:persistent a;Matlab定义静态变量时,不能直接赋值,需用isempty()判断代码如下:原创 2017-10-20 21:38:06 · 3438 阅读 · 0 评论 -
matlab cell,fix,floor,round取整的几种方式
ceil函数的作用是朝正无穷方向取整,即将m/n的结果向正无穷方向取整,如m/n=3.12,则ceil(m/n)的结果为4。类似的函数有如下几个:fix:朝零方向取整,如fix(-1.3)=-1;fix(1.3)=1;floor:朝负无穷方向取整,如floor(-1.3)=-2;floor(1.3)=1;round:四舍五入到最近的整数,如round(-1.3)=-1;round(...原创 2017-10-20 22:45:40 · 1277 阅读 · 0 评论 -
matlab global(全局变量)
如果想让某个函数中定义的变量能够被其他函数调用,需要用到全局变量。注意,在这两个函数中都要用global修饰这个变量。如:function t1global x;x=0;function t2global x;y=xend ...转载 2017-10-23 12:30:24 · 15476 阅读 · 0 评论 -
matlab plot绘制曲线
1)语法 plot(Y) plot(X1,Y1,…) plot(X1,Y1,LineSpec,…) plot(…,’PropertyName’,PropertyValue,…) plot(axes_handle,…) h = plot(…) hlines = ...原创 2017-10-23 12:18:29 · 6486 阅读 · 2 评论