桂哥317
这个作者很懒,什么都没留下…
展开
-
【Matlab】帮助文档打不开
问题描述今天在MATLAB命令行窗口中输入【doc find】,出现了帮助文档打不开的情况。如图1所示。图1 帮助文档打不开解决办法在MATLAB的【主页】中点击【预设】。如图2所示。图2 点击【预设】打开之后,如图3所示。图3 预设项设置界面选择【帮助】,在文档位置中,勾选【安装在本地】,然后点击【应用】,点击【确定】即可。回到命令行窗口,再次输入【doc find...原创 2019-07-24 23:56:16 · 11420 阅读 · 23 评论 -
【Matlab】数字图像的运算
本部分内容主要介绍基于图像像素的运算方法,包括点运算、代数运算、逻辑运算、图像的几何变换方法,包括平移、镜像、缩放、转置、旋转及剪切,图像的邻域操作和区域选择。一、图像点运算1.通过灰度线性变换函数imadjust()对图像进行线性灰度变换% 编写时间:2018年3月20日17:45:48 close all; clear all; clc; gamma = 0.5; % 设定...原创 2018-05-02 17:02:17 · 10285 阅读 · 10 评论 -
【Matlab】图像复原
1.先记录一个有趣的代码,将数组从左向右翻转close all; clear; clc; I = imread('pout.tif');J = fliplr(I); % 从左向右翻转% J = flipud(I); % 从上向下翻转imshowpair(I,J,'montage');2.通过均值和方差来产生高斯噪声close all; clear all; clc; ...原创 2018-05-07 23:41:01 · 9164 阅读 · 2 评论 -
【Matlab】图像分割
一、边缘分割技术1.图像中间断点和线段的检测对于图像中的间断点,常用的检测模板是:[-1, -1, -1; -1, 8, -1; -1, -1, -1]对于图像中的线段,常用的检测模板是:水平线段 -- [-1, -1, -1; 2, 2, 2; -1, -1, -1]; +45°线段 -- [-1, -1, 2; -1, 2, -1; 2, -1, -1]垂直线段 ...原创 2018-05-15 14:50:26 · 11506 阅读 · 2 评论 -
【Matlab】图像特征分析
1. 利用函数mean2()和std()对灰度图像进行一阶矩、二阶矩、三阶矩的计算close all; clear all; clc;I = imread('lena.jpg'); % 读取图像,赋值给JI = rgb2gray(I); K = imadjust(I, [70/255, 160/255], []); % 灰度级调整。将[70 160]的灰度扩展到[0 255],增强图...原创 2018-05-28 14:46:45 · 6478 阅读 · 0 评论 -
【Matlab】形态学图像处理
1. 创建结构元素在MATLAB中,采用函数strel()创建结构元素。close all; clear all; clc; se1 = strel('square', 3) % 方形结构元素se2 = strel('line', 10, 45) % 线性结构元素,角度为45°2. 结构元素的分解在MATLAB中,采用函数getsequence()进行结构元素的分解。...原创 2018-05-30 16:02:49 · 6286 阅读 · 0 评论 -
【Matlab】车牌图像倾斜校正算法的MATLAB实现
车牌校正是车牌定位和字符分割的一个重要处理过程。经过车牌定位后所获取的车牌图像不可避免地存在某种程度的倾斜,这种倾斜不仅会给下一步字符分割带来困难,最终对车牌识别的正确率造成影响。本部分主要讲车牌图像倾斜校正算法的MATLAB实现,包括Hough变换法和Radon变换法等。1. 基于Hough变换的车牌图像倾斜校正算法 利用Hough变换检测车牌的边框,确定边框直线...原创 2018-06-19 23:43:06 · 30955 阅读 · 9 评论 -
【Matlab】积累的MATLAB小代码
1. 随意输入10个1-10之间的数字,返回数值在2-6之间(不包括2和6)的数字的位置clear; clc; A = uint8(10*rand(1, 10))B = (A>2) & (A<6)weizhi = find(B == 1)2. 字符串倒置S = 'Every good boy does fun';m = size(S,2); % 列数,即...原创 2018-08-28 11:17:44 · 828 阅读 · 0 评论 -
【Matlab】输入一张图像,输出任意前n大的连通域图像
经常遇到一个问题,即输出一幅图像的最大连通域图像。在解决这个问题之后,写了一个输出任意前n大连通域图像的代码(n小于连通域总数)。如下所示:close all;clear; clc; pic = imread('pout.tif'); % 输入图像,这是一张灰度图像% pic = imread('kobi.png'); % 输入图像,这是一张彩色图像if ndims(pic) ...原创 2018-08-30 21:54:26 · 1100 阅读 · 2 评论 -
【Matlab】MATLAB R2018b 自带图像的所在路径
路径如下:C:\MATLAB_2018b\toolbox\images\imdata2019-7-24更新如下:C:\Program Files\MATLAB\R2019a\toolbox\images\imdata原创 2018-12-05 16:37:12 · 7223 阅读 · 0 评论 -
【Matlab】函数uigetfile的使用
假设此处的指定文件夹为:F:\picture,处理对象是格式为.jpg的图片。代码如下:% read image[filename, pathname, filterindex] = uigetfile('F:\picture\*.jpg', '选择图片');file = fullfile(pathname, filename); img = imread(file); figure...原创 2018-10-24 15:13:50 · 16582 阅读 · 3 评论 -
【Matlab】计算图像所有不重叠邻域的像素均值,并将这些均值合成一幅新的图像
今天在看论文的时候,看到如下一句话:This reduction is accomplished by taking the averages of all nonoverlapping 3*3 pixels. 即:通过计算所有不重叠3*3邻域的像素均值来实现(图像空间上的)减小。意思是将一幅图像首先分为一个个的3*3邻域,求每个邻域内像素的均值,并将这些均值按原有次序组合成一幅新的图像,...原创 2018-05-07 15:22:08 · 3477 阅读 · 4 评论 -
【Matlab】输入keyboard命令,再输入return命令不起作用
调试代码时,经常会用到keyboard命令。以往,结束keyboard命令采用的是return命令。但今天发现输入return命令后,不起作用,命令行窗口仍然显示的是K>>。后查阅资料,发现:现在结束keyboard命令采用的是dbcont命令或者dbquit命令。猜测可能是因为MATLAB版本更新的原因。dbcont命令终止调试模式并继续执行;dbquit命令终止调试模式并退出文件而...原创 2018-09-29 17:30:23 · 2327 阅读 · 0 评论 -
【Matlab】将目标边缘标记为红色
首先读取图像,采用canny算子提取目标的边缘,在原图像中将边缘部分设置为白色,然后建立三通道图像,将目标的边缘部分设置成红色(其他颜色也可以)。代码如下:close all; clear; clc; I = imread('rice.png'); figure; subplot(221), imshow(I); J = edge(I, 'canny'); subplo...原创 2018-04-19 10:04:49 · 6439 阅读 · 0 评论 -
【Matlab】猜数游戏
规则:首先由计算机随机产生0-100之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同的提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏,用户最多可猜测7次。clear all; clc; % play the game of guess the numberx = fix(100 * rand); ...原创 2018-04-17 21:28:44 · 15875 阅读 · 1 评论 -
【Matlab】图像增强
一、函数brighten()的使用% 通过函数brighten()调整图像的亮度% 在MATLAB中还可以通过函数brighten()改变灰度图像的亮度。% 在使用函数brighten()改变图像的亮度时,通常放到图像显示函数imshow()的后面。% brighten(beta):该函数改变图像的亮度,如果0<beta<1,则图像变亮,如果-1<beta<0,...原创 2018-04-09 23:39:59 · 5853 阅读 · 0 评论 -
【Matlab】title函数如何显示下划线
有如下一行代码:title('imcrop_Image'); 本意是想在图像上方显示标题“imcrop_Image”,但是结果如下图所示:标题显示不正确。经查阅文档,做以下改变:title('imcrop_Image', 'Interpreter', 'none');结果显示正确,如下图:此外,还有一种方法,代码如下:title(strrep('imcro...原创 2019-03-19 11:27:49 · 4246 阅读 · 0 评论 -
【Matlab】两种灰度归一化方法
在许多图像处理系统中,灰度归一化是必备的预处理过程。以手背静脉图像为例。由于同一个手背在不同时间、不同光照下采集到的静脉图像在灰度分布上可能存在着很大的差异,图像的灰度分布很不集中,这些将直接影响到后续的特征提取和识别,因此要对手背静脉图像进行灰度归一化。这里介绍两种灰度归一化的方法:均值方差归一化、灰度变换归一化。1. 均值方差归一化[1]均值方差归一化是将不同时间、不同光照下采集到...原创 2018-12-17 17:02:05 · 22355 阅读 · 9 评论 -
【Matlab】Niblack算法和Otsu算法
图像的二值化根据阈值确定方法的不同,可以分为局部阈值法和全局阈值法。Niblack算法属于局部阈值法。Otsu算法属于全局阈值法。一、Niblack算法 Niblack算法是通过某一像素点及其邻域内像素点灰度值的均值和标准差计算得到二值化阈值的。在计算图像点(x,y)二值化阈值时,首先计算以(x,y)为中心的n*n大小的区域内像素点的灰度均值m和标准差s。灰度均值m和...原创 2018-04-03 21:19:49 · 9604 阅读 · 3 评论 -
【Matlab】利用matlab画圆
clear; close; clc; m = 512;n = 512; A = zeros(m,n); r0 = input('请输入圆的半径:');width = input('请输入圆边的宽度:')for ss = 1:m for tt = 1:n r = sqrt((ss - m/2).^2 + (tt - n/2).^2); if abs(r -...原创 2017-08-11 12:33:44 · 1058 阅读 · 0 评论 -
【Matlab】对人体骨骼扫描图像的增强
% 对人体骨骼扫描图像进行增强% 编写时间:2017年10月30号 作者:gq close all; clear all; clc; % 读入图像I1 = imread('人体骨骼扫描图像.jpg'); I1 = im2double(I1);I1 = rgb2gray(I1); subplot(241),imshow(I1),title('人体骨骼扫描图像');% 拉普拉斯变换...原创 2017-11-24 18:46:46 · 5089 阅读 · 1 评论 -
【Matlab】求圆内部面积占比
% 本函数的功能是求不规则圆形的面积% 编写时间:2017年12月2日20:12:54close all; clear; clc; I = imread('C:\MATLAB\2017\求不规则圆内的面积\123.jpg');% imshow(I);J = im2bw(I); % 二值化[x,y] = find(J==1); % 找到白色线条,这里x是行,y是列% 将白色线条内部变...原创 2017-12-02 20:17:54 · 1973 阅读 · 0 评论 -
【Matlab】LBP(局部二值模式)实现
首先编写LBP函数,代码如下:function dstImage = LBP(srcImage)if ndims(srcImage) == 3 srcImage = rgb2gray(srcImage); endI = im2double(srcImage); [m, n] = size(I); J = zeros(m, n); for i = 2 : m-1 ...原创 2017-12-13 16:15:20 · 2426 阅读 · 2 评论 -
【Matlab】读取多幅图像,并制成GIF动画
% 连续读取多幅图像,显示并保存为gif动画形式% 编写时间:2018年3月26日13:37:31 编写人:gqclose all; clear all; clc; %% 采用方式一读取多幅图像。此方式需要将文件夹中待读取的图像重命名为1,2,3...,此处格式为bmp。 % str = 'F:\DS0\1\'; % 图像路径% for idx = 1:5 % 读取5幅图像...原创 2018-03-26 15:31:33 · 8685 阅读 · 0 评论 -
【Matlab】获取灰度图像的直方图
% 通过程序获取灰度图像的直方图% 编写时间:2017-11-24 19:36:11 编写人:gqclose all; clear; clc; orgin_image = imread('pout.tif'); row = size(orgin_image, 1); % 行column = size(orgin_image, 2); %列 N = zeros(1, 256); %...原创 2018-03-26 23:09:03 · 8957 阅读 · 0 评论 -
【Matlab】调整灰度图像的灰度范围
% 通过程序调整灰度图像的灰度范围% 编写时间:2017-11-24 20:01:25 编写人:gqclose all; clear; clc; orgin_image = imread('pout.tif'); orgin_image = double(orgin_image); % double()将原图像的像素值转换为双精度型,但数值大小并不改变% im2double()将...原创 2018-03-26 23:35:31 · 14895 阅读 · 1 评论 -
【Matlab】imadjust的使用
函数:imadjust()函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。常用语法有:J = imadjust(I)和J = imadjust(I, [low_in; high_in], [low_out; high_out], gamma)。描述:J = imadjust(I)将灰度图像I中的灰度值映射成输出图像J中的新值,使得灰度图像I在低灰度值和高灰度值上1%的数据是饱和的。这增...原创 2018-03-28 12:45:44 · 16287 阅读 · 7 评论 -
【Matlab】基于连通域提取感兴趣区域
% 获取感兴趣区域,并进行提取和标记% 编写时间:2018年3月28日22:40:46 编写人:gqclose all; clear all; clc; srcImage = imread('grh.bmp'); whos, % 显示原始图像figure('name', '前期处理');subplot(221), imshow(srcImage), title('原始图像'...原创 2018-03-28 23:03:01 · 11833 阅读 · 4 评论 -
【Matlab】如何规范地编写一个MATLAB函数文件
在matlab中,M文件分为脚本文件和函数文件。如果M文件的第一个可执行语句以function开头,那这个M文件就是函数文件。函数文件内定义的变量为局部变量,只在函数文件内部起作用,当函数文件执行完后,这些内部变量将被清除。本文介绍如何规范地编写一个函数文件。通常,函数文件由函数声明行、H1行、在线帮助文本区、编写和修改记录、函数主体等几个部分组成。格式如下:function 输出形参...原创 2018-09-28 18:11:49 · 91065 阅读 · 7 评论 -
【Matlab】imresize的用法
imresize函数用于调整图像的大小,暂时用到的语法有两种:B = imresize(A,scale)和B = imresize(A,[numrows numcols])。描述:B = imresize(A,scale)返回图像B,图像B的尺寸是图像A的scale倍。输入图像A可以是灰度图像,RGB图像,二值图像。如果scale是0到1之间的数,则图像B比图像A要小;如果scale大于1...原创 2017-07-17 13:20:25 · 41023 阅读 · 0 评论 -
【Matlab】im2double的用法
im2double函数用于将图像转换为双精度。语法形式有4种,分别是:I2 = im2double(I);RGB2 = im2double(RGB);I = im2double(BW);X2 = im2double(X, 'indexed');描述:I2 = im2double(I)将灰度图像I转换为双精度,必要时可以缩放其数据。如果输入图像是双精度类型,则输出...原创 2017-07-21 09:25:17 · 54856 阅读 · 0 评论 -
【Matlab】round函数的用法
round函数用于舍入到最接近的整数。语法形式只有1种:Y = round(X),这里的X可以是数,向量,矩阵,输出对应。举例:1、round(2.1) = 2; round(2.5) = 3; round(2.8) = 32、round(-2.1) = -2; round(-2.5) = -3; round(-2.8) = -33、>> A = [2.3 4.7 -...原创 2017-07-25 09:56:32 · 18810 阅读 · 2 评论 -
【Matlab】max函数和min 函数的用法
今天写代码的时候用到了max函数和min函数,查了帮助文档,并将其内容记录在此。max函数用于求数组中的最大元素。暂时用到的语法形式有以下3种:C = max(A);C = max(A, B);C = max(A, [], dim);描述:C = max(A)返回数组不同维度的最大元素。如果A是一个向量,max(A)返回向量A中的最大元素;如果A是一个矩阵,max(...原创 2017-07-24 13:49:02 · 34804 阅读 · 0 评论 -
【Matlab】mod函数和rem函数的区别
mod函数用于取模运算。语法形式为 M = mod(x,y),这里的x,y可以是标量|向量|矩阵|多维数组。M = mod(x,y)返回用 y除以 x后的余数,其中 x是被除数,y是除数。计算方式为:当 y≠0 时,M=mod(x,y)= x - y.*floor(x./y);当 y=0时,M=mod(x,0)=x,即mod函数遵从mod(x,0)返回 x的...原创 2017-07-21 13:05:57 · 21190 阅读 · 0 评论 -
【Matlab】初识MATLAB
专题0 初识MATLABMATLAB -- MATrix LABoratory, 1984年由美国mathworks公司推出。主要功能:数值计算、符号计算、图形绘制、程序流程控制、工具箱等。例如:求x^2 - 3x + 1 = 0的根。采用如下代码:又如:课程的学习目标:1.理解MATLAB功能实现的数学背景与算法原理;2.掌握利用MATLAB进行问题求解...原创 2018-06-05 21:43:19 · 709 阅读 · 0 评论 -
【Matlab】MATLAB基础知识
专题一 MATLAB基础知识目录1. MATLAB系统环境2. MATLAB数值数据3. 变量及其操作4. MATLAB矩阵的表示5. 矩阵元素的引用6. MATLAB基本运算7. 字符串处理------------------------------------------------------------------------------------...原创 2018-06-21 01:26:39 · 40783 阅读 · 6 评论 -
【Matlab】imcrop的用法
imcrop函数用于剪切图像。暂时用到的语法形式有两种:I = imcrop(image)和I = imcrop(image, rect),这里的image可以是灰度图像,也可以是RGB图像。前者是将图像显示在图像窗口中,并允许用户以交互的方式使用鼠标选定要裁剪的区域;后者指定了要裁剪的区域。举例说明:(语法形式1)close all; clear; clc; image = ...原创 2017-07-21 10:32:20 · 29552 阅读 · 4 评论 -
【Matlab】[X,Y] = meshgrid(x,y)的说明
基于向量x和向量y中包含的坐标返回二维网格坐标。X是一个矩阵,其中每一行都是复制x;Y是一个矩阵,其中每一列都是复制y。矩阵X的行数是length(y);矩阵Y的列数是length(x)。举个例子:x = 1:3; y = 1:5; [X,Y] = meshgrid(x,y);x是向量[1 2 3],y是向量[1 2 3 4 5];矩阵X的每一行都是x,即[1 2 3],总...原创 2018-03-12 16:37:56 · 22416 阅读 · 1 评论 -
【Matlab】bwboundaries的用法示例
覆盖图像上的区域边界close all; clear; clc; % Read grayscale image into the workspaceI = imread('rice.png'); % Convert grayscale image to binary image using local adaptive thresholdingBW = imbinarize...原创 2018-09-07 15:08:58 · 16340 阅读 · 2 评论 -
【Matlab】Simulink系统仿真(了解)
专题九 Simulink系统仿真(了解)需在安装MATLAB时安装Simulink组件。1. Simulink的启动在MATLAB主窗口选择“主页”选项卡,再单击“文件”命令组中的“新建”命令按钮,然后从下拉菜单中选择“Simulink Model”命令。 在MATLAB主窗口选择“主页”选项卡,再单击“Simulink”命令组中的“Simulink”命令按钮。 在MATLA...原创 2018-08-06 23:02:17 · 15319 阅读 · 0 评论