![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MATLAB图像处理
就喊我轩轩
这个作者很懒,什么都没留下…
展开
-
使用matlab对图像轮廓提取代码实现
原图首先将图片导入matlab工作区 图片将会被转换为一个二维矩阵存=存放然后我们输入指令可以看到原图然后转为二值图像使用bwperim()函数进行轮廓提取同样我们可以借助edge()函数进行边界检测,算子可以选择canny,soble等等。算子是什么呢?简单的说就是一种运算方式,一种关系,一种映射。广义的讲,对任何函数进行某一项操作都可以认为是一个算子,甚至包括求幂次,开方都可以认为是一个算子,只是有的算子我们用了一个符号来代替他所要进行的运算罢了,所以大家看到算子就不要纠结,他和原创 2021-04-19 22:56:05 · 3457 阅读 · 1 评论 -
MATLAB GUI编程axes显示载入图片
MATLAB GUI软件界面显示载入的.JPG图片分两种情况,一种是希望点击按钮后显示载入的图片、另一种情况是希望软件界面一开始就载入默认位置的图片。 启动MATLAB 2018b后,在命令行光标后输入: guide 并回车,选择并打开名为 untitled8.fig 的文件。我从互联网上下载了NVIDIA和AMD两个游戏显卡公司的图片作为素材,分别用好压看图2345调整完像素大小并保存为NVIDIA.jpg和AMD.jpg一、启动时默认载入NVIDIA.jpg并显示在GUI轴 axes3找到对象“原创 2021-04-19 21:24:56 · 7829 阅读 · 0 评论 -
基于蚁群聚类算法的图像边缘检测
一、简介1 蚁群算法的提出蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。遗传算法在模式识别、神经网络、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到应用。2 算法的基本原理二、源代码%%%%%%%%%%%初始部分,读取图像及计算相关信息%%%%%%%%%%%%%%%%%clear;clc原创 2021-04-19 00:55:27 · 1486 阅读 · 3 评论 -
Matlab实现图像识别(十)
接下来就是参数选择的问题。什么是参数选择的问题呢?例如如果你把720x720的图片放进去,隐藏层都几个G了,这个自然是不行的。在本次实验中,我一开始用了5000个隐藏节点,结果,训练一次这个隐藏层就需要1分钟的时间,自然是不可以的,因为我还要训练一万次,没法调Bug啊,这个时间绝对不行。因此图像的大小选择是十分慎重的,因为如果只是28x28像素的话,总的也才784个节点,如果是60x80的话,就会陡增至4800个节点。计算机的算力吃不消。当初我做minst的时候,输入784个节点,隐藏层也就100~1原创 2021-04-16 22:03:06 · 1281 阅读 · 0 评论 -
Matlab实现图像识别(九)
随机挑选50个物体,每个物体挑选20张图片。imgs, labels = img_pick(path)其中,imgs为50202828,label就是50101了,那么,预处理就在img_pick中做。function [imgs, labels] = img_pick(path) imgs = zeros(50, 20, 28, 28); labels=zeros(50, 101); namelist = dir(path); for i = 1:50 % 挑出50原创 2021-04-16 22:02:44 · 1810 阅读 · 0 评论 -
Matlab实现图像识别(八)
这节实现图像的预处理。在最开始的时候,我们仅仅是把图像进行灰度化,并为了训练效率,强行缩小了图像,导致损失了许多图像信息,实际上,有更多的方法来保存这些信息。现在流行的图像预处理算法非常多,例如图像反转,灰度线性变换,非线性变换,直方图均衡化,线性平滑滤波器,中值滤波器,Sobel算子和拉普拉斯对图像锐化,梯度算子检测边缘,LOG算子检测边缘,Canny算子检测边缘,边界跟踪(bwtraceboundary函数),Hough变换,直方图阈值法,自动阈值法:Otsu法,膨胀操作,腐蚀操作,开启和闭合操作,原创 2021-04-15 21:49:00 · 2480 阅读 · 0 评论 -
Matlab实现图像识别(七)
分完数据,我们要实现BP神经网络的运算和测试。既然BP神经网络已经设计好了,那么现在制作测试代码,一共选择50个物体,每个物体随机挑选20张图片,总共测试1000次,看其正确率。% 测试代码path = 'test_set';namelist = dir(path);res = 0;for i = 1:50 % 挑出50个物体 k = rand(101); % 随机选择一个物体 if namelist(k).name == '.',continue,end label =原创 2021-04-15 21:48:03 · 686 阅读 · 0 评论 -
Matlab实现图像识别(六)
关于反向传播我实在讲不透,自己把公式推算一遍比较好。既然已经把BP成功搭建起来了,那么接下来做什么呢?接下来把数据集分割一下,一般来说,训练集数据集分割比是2:1的样子差不多。我们仍然用matlab实现分割,既然我们已经知道了如何读取图像,那么存入图像也是简单的:imwrite(img, path);我们可以把前2/3作为训练集放到一个文件夹,后1/3作为测试集放入另一个文件夹。新建一个脚本move.m,在其中写入如下代码:path = '101_ObjectCategories';nameli原创 2021-04-15 21:47:07 · 1909 阅读 · 0 评论 -
Matlab实现图像识别(五)
先实现单个更新,得出结果之后,再实现批量更新。后向传播算法为:w = w - a*de/dw;其中,w就是那个参数,e代表误差,a是一个步长,乘以这个导数就变成了实际的一小段,减去它就是了。这个导数这么算:de/dw = de/dy2 * dy2/dy1 * dy1/dw其中,e = 1/2 * sum((label - output).^2); 其中,label和output都是101维的向量,它们相减后就是单个误差,平方后去掉负号再全部加起来就是单一个数字了,因此e只是1个数字,1/2是求导用原创 2021-04-15 21:45:50 · 630 阅读 · 1 评论 -
Matlab实现图像识别(四)
这节实现反向传播。首先当一个图片输出结果output之后,将其与label相减取绝对值,这个 就是误差,然后对每一个w求出偏导,乘以一个步长再用相应的w减去它。在每一轮循环,随机选几十个物品,然后每个物品随机选四五张图像,总共就有几百张图像,作为一轮,然后重复几千轮,这样就训练好了。例如我们可以随机选50个物体,每个物体10张图片,代码如下:path = '101_ObjectCategories';namelist = dir(path);for i = 1:50 % 挑出50个物体原创 2021-04-15 21:43:58 · 2709 阅读 · 1 评论 -
Matlab实现图像识别(一)
我们采用的是101_ObjectCategories这个数据集(这里是其主页,你也可以在这里获得数据集以及我的代码),这个数据集是加州理工的一个数据集,里面有101个文件夹,每个文件夹的名字是一个物体,文件夹内有几十张上百张这个物体的图像,每个图像的大小不尽相同,总共才100多MB,比较好训练,有一个同类的数据集,它还有有200多个物体的一个数据集,但是有几个G,所以不太适合了。相对于MNIST数据集来说,用matlab的话,MNIST数据集显得更难读取了,因此也不选用MNIST数据集。需要注意的是,这个原创 2021-04-15 21:38:07 · 8641 阅读 · 0 评论 -
Matlab从视频中提取图像,可以设定每多少秒提取1帧。
这个27941是秒数,就是提取视频多少秒。如果整个视频提取的话,可以用VideoAd.Duration即视频总长度替代。video.FrameRate是视频每秒多少帧图片。你如果想要60秒提取一帧的话,那么 60*FrameRate 设定为循环的步长就可以提取了。clc;clear;%% 读取视频video_file='C:\Users\49786\Desktop\Fog20200313000026.mp4';video=VideoReader(video_file);frame_...原创 2021-04-15 21:32:16 · 1787 阅读 · 1 评论 -
MATLAB读取指定文件夹下的所有文件
指定路径下,单个文件夹data中所有图像file_path = ‘.\data’;% 图像文件夹路径img_path_list = dir(strcat(file_path,’*.jpg’));%获取该文件夹中所有 jpg格式的图像img_num = length(img_path_list);%获取图像总数量if img_num > 0 %有满足条件的图像for j = 1:img_num %逐一读取图像image_name = img_path_list(j) .name;%..原创 2021-04-15 21:27:49 · 7708 阅读 · 0 评论