matlab期末大作业(基础功能、人脸识别、特殊风格等)

这篇具有很好参考价值的文章主要介绍了matlab期末大作业(基础功能、人脸识别、特殊风格等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

1.导入图片和从摄像头端加载图片。

1.1算法原理

1.2代码

[fp,pn,fg]=uigetfile('*.*','选择图片');
I = imread([pn fp]);
axes(handles.axes1);%创建坐标轴图形对象
imshow(I);%显示图像
handles.image = I;
guidata(hObject,handles);%设置为全局图片

%从摄像头端加载图片
vid = videoinput('winvideo', 1, 'YUY2_640x480')
set(vid,'ReturnedColorSpace','rgb');
vidRes=get(vid,'VideoResolution');
width=vidRes(1);
height=vidRes(2);
nBands=get(vid,'NumberOfBands');
hImage=image(zeros(vidRes(2),vidRes(1),nBands));
preview(vid,hImage);
start(vid);
img = getsnapshot(vid);
axes(handles.axes1);
imshow(img);
delete(vid);
handles.image = img;
guidata(hObject,handles);%设置为全局图片

1.3结果及分析

![在这里插入图片描述](https://img-blog.csdnimg.cn/729a211a03c4435b9f91ccb8466102a6.png#pic_center

webcamlist
查看电脑上已经安装的图像适配器
使用如下命令即可预览视频对象,该函数会自动打开一个窗口,播放摄像头画面:
preview(video1)

用完之后清除对象
clear

2.将一张彩色图像进行不同角度的旋转,各种程度的对比度,彩色图像灰度化,裁剪图片。

2.1算法原理

rgb2gray 函数通过消除色调和饱和度信息,同时保留亮度,来将 RGB 图像转换为灰度图
真彩色图像,指定为 m×n×3 数值数组
灰度图像,以 m×n 数值数组形式返回

2.2代码

%图像的对比度
I=handles.image;
num=get(handles.slider2,'value');
 
I1 = imadjust(I,[0 num],[]);
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
imshow(I1)
%旋转
set(hObject,'Min',0,'Max',360);
I=handles.image;
a=get(handles.slider3,'value');
L=imrotate(I,a);
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
imshow(L);
%做图像裁剪
 
im = handles.image;
%figure,imshow(im);
imcroped = imcrop; % 直接将figure前置并使鼠标显示十字架让你画框,画完双击就截取了矩形图像
axes(handles.axes2);
imshow(imcroped); %截取后的图像存在imcroped中

2.3结果及分析

matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等) 分析:B=imrotate(A,angle),将图像A围绕其中心点进行angle角度的逆时针旋转 imadjust函数实现对比度 图像裁剪 imcroped = imcrop; % 直接将figure前置并使鼠标显示十字架让你画框,画完双击就截取了矩形图像

3.不同阈值的二值化处理

3.1算法原理

将灰度图像 I 转换为二进制图像

3.2代码

I=handles.image;
mysize = size(I);
%把图像转换成灰度图
if numel(mysize) > 2
    I = rgb2gray(I);
end
a=im2double(I);
%全局变量设置的二值化阈值
binary_img = im2bw(a,handles.binary_thresh);
%显示二值化后的图片
axes(handles.axes2)
imshow(binary_img)

3.3结果及分析

matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等) 分析: 阈值越高,黑色部分越高。

4.两幅图像相加

4.1算法原理

存储当做一个二维的矩阵、进一步地,视为二维数组来进行处理。可以想到:如果我们的目的是完成对两张图片的融合,最简单的方法就是把每一个像素点加起来

4.2代码

I = handles.image;%得到第一张全局图像
J=handles.image2;%得到第二张全局图像
H1=imadd(I,J);%两张图像相加

4.3结果及分析

matlab期末大作业(基础功能、人脸识别、特殊风格等)

5.两幅图像相减

5.1算法原理

图像减法也称为差分方法,进行代数运算

5.2代码

I = handles.image;%得到第一张全局图像
J=handles.image2;%得到第二张全局图像
%图像相减,要求图像矩阵相同大小
H2=imsubtract(I,J);
imshow(H2);

5.3结果及分析

matlab期末大作业(基础功能、人脸识别、特殊风格等)

6.对数2 、5 、15不同程度的变化,指数2 、4 、0.5的不同程度的变换图片。将图片镜像和反色

6.1算法原理

对数函数会扩张低灰度区域压缩高灰度区域,因此低灰度区域细节会增强,图像整体会变亮,而指数函数则相反
反色的实际含义是将R、G、B值反转,若颜色的量化级别是256,则新图的R、G、B值为255减去原图的R、G、B值。
flipdim函数实现图片镜像翻转

6.2代码

%对数变换
I=handles.image;%获取全局图像
 
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
I=double(rgb2gray(I))/255;
  I=log2(1+I)/log2(5);
      imshow(I);

% Hint: get(hObject,'Value') returns toggle state of radiobutton4
%指数变换
I=handles.image;%获取全局图像
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
I=double(rgb2gray(I))/255;
c=255;
  I = c/255*(I.^2);   
       imshow(I);
%镜像处理
%图形的几何变换—垂直镜像
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
I = handles.image;
J = flipdim(I,2);%原图像的垂直镜像
imshow(J);

%反色
 
I=handles.image;
[rows , cols , colors] = size(I);%得到原来图像的矩阵的参数  
Res = zeros(rows , cols);%创建一个空矩阵用来存储新的灰度图
Res = uint8(Res);
Res(:,:,1)=255-I(:,:,1);
Res(:,:,2)=255-I(:,:,2);
Res(:,:,3)=255-I(:,:,3); 
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
imshow(Res);

6.3结果及分析

matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)

分析:彩图是每像素占3个字节,而变化成灰度图后每像素占一个字节,彩图在转化为灰度图的同时,抛弃了颜色信息,只保留了图像亮度信息。指数越大,图像灰度程度就越大,看不清物品。

7.直方图和直方图均衡化

7.1算法原理

直方图均值化,将低灰度值归并,高灰度值拉伸,当一个图像灰度分布均匀时,图像的整体细节与质量会提升很多

7.2代码

%绘制灰度直方图
set(handles.axes4,'HandleVisibility','ON');
axes(handles.axes4);
I = rgb2gray(handles.image);%转换为灰度图
imhist(I);%显示直方图


%直方图均衡化
set(handles.axes4,'HandleVisibility','ON');
axes(handles.axes4);
I = rgb2gray(handles.image);
I = histeq(I);%直方图均衡化
imhist(I);

7.3结果及分析

matlab期末大作业(基础功能、人脸识别、特殊风格等)matlab期末大作业(基础功能、人脸识别、特殊风格等)

8.添加高斯和椒盐噪声并分别用不同33和55模板进行均值、中值、高斯滤波器处理

8.1算法原理

均值滤波和中值滤波是都属于空间滤波(对于某一像素点,以该点为中心,通过对该像素点邻域部分的像素进行处理,得到中心替代像素点的滤波方法
如果噪声为高斯噪声,测量值在真实值周围波动,取得平均之后会得到相对准确的值。
如果噪声为椒盐噪声,像素会出现剧烈跳动,而中值对极大值和极小值不敏感,取中值后可以很好过滤掉此类噪声。文章来源地址https://www.toymoban.com/news/detail-494909.html

8.2代码

%添加椒盐噪声
I = handles.image;
var=get(handles.popupmenu2,'value');
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
 
J=imnoise(I,'salt & pepper',0.2);  %添加椒盐噪声,密度为0.2
imshow(J);
I = handles.image;
%空域滤波去除椒盐噪声实例
I=rgb2gray(I);
J=imnoise(I,'salt & pepper',0.2);  %添加椒盐噪声,密度为0.2
var =get(handles.popupmenu3,'value');
switch var 
    case 1
        K1 = filter2(fspecial('average',3),J)/255;%均值滤波器
K2 = medfilt2(J,[3,3]);%中值滤波器
figure('NumberTitle', 'off', 'Name', '空域滤波去除椒盐噪声'); 
subplot(2,2,1);
imshow(J);
title('含椒盐噪声的图像');
subplot(2,2,2);
imshow(K1);
title('均值滤波器');
subplot(2,2,3);
imshow(K2);
title('中值滤波器');
    case 2
         K1 = filter2(fspecial('average',5),J)/255;%均值滤波器
K2 = medfilt2(J,[5,5]);%中值滤波器
figure('NumberTitle', 'off', 'Name', '空域滤波去除椒盐噪声'); 
subplot(2,2,1);
imshow(J);
title('含椒盐噪声的图像');
subplot(2,2,2);
imshow(K1);
title('均值滤波器');
subplot(2,2,3);
imshow(K2);
title('中值滤波器');
end

%添加高斯噪声
I = handles.image;
var=get(handles.popupmenu2,'value');
set(handles.axes2,'HandleVisibility','ON');
axes(handles.axes2);
G=imnoise(I,'gaussian',0,0.2);  
imshow(G);%添加高斯噪声,
%做高斯噪声3*35*5
I = handles.image;
%空域滤波去除高斯噪声实例
I=rgb2gray(I);
J=imnoise(I,'gaussian',0,0.02);    %添加高斯噪声
var =get(handles.popupmenu4,'value');
switch var 
    case 1
        K1 = filter2(fspecial('average',3),J)/255;%均值滤波器
K2 = medfilt2(J,[3,3]);%中值滤波器
figure('NumberTitle', 'off', 'Name', '空域滤波去除高斯噪声'); 
subplot(2,2,1);
imshow(J);
title('含高斯噪声的灰度图像');
subplot(2,2,2);
imshow(K1);
title('33均值滤波器');
subplot(2,2,3);
imshow(K2);
title('33中值滤波器');
    case 2
         K1 = filter2(fspecial('average',5),J)/255;%均值滤波器
K2 = medfilt2(J,[5,5]);%中值滤波器
figure('NumberTitle', 'off', 'Name', '空域滤波去除高斯噪声'); 
subplot(2,2,1);
imshow(J);
title('含高斯噪声的图像');
subplot(2,2,2);
imshow(K1);
title('5*5均值滤波器');
subplot(2,2,3);
imshow(K2);
title('5*5中值滤波器');
end
%高斯平滑滤波器
Image=handles.image;
mysize=size(handles.image);
if numel(mysize)>2
    Image=rgb2gray(handles.image);
end
sigma1=0.6; sigma2=10; r=3;  % 高斯模板的参数
NoiseI= imnoise(Image,'gaussian'); %加噪
gausFilter1=fspecial('gaussian'

到了这里,关于matlab期末大作业(基础功能、人脸识别、特殊风格等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 最新实现人脸识别功能

    一、能力背景         现在人脸识别功能,只对特定主主体类目进行开放,具体主体类目参考: 人脸识别开放主题类目 | 微信社区 (qom) 二、接入能力         申请人脸识别功能的详细过程,可查看 微信人脸核身申请过程 | 微信开放社区 (qq.com) 三、具体使用方法        

    2024年01月16日
    浏览(54)
  • 基于Matlab的人脸识别设计(PCA)

    图像预处理是人脸识别的重要组成部分。由于图像采集环境不同,输入测试图像常常存在一些问题,如不同程度的噪声和图像对比度不足。再者,获取距离和焦距大小之类的外部因素也使得面部信息在整个图像中具有不确定的大小和位置。为了确保收集的面部图像的质量,必

    2024年02月04日
    浏览(75)
  • SpringBoot整合百度云人脸识别功能

    首先需要在百度智能云官网中创建应用,获取 AppID,API Key,Secret Key 官网地址:https://console.bce.baidu.com/ 添加以下依赖即可。其中版本号可在 maven 官网查询 便于后面去获取值 AipFace 是人脸识别的 Java 客户端,为使用人脸识别的开发人员提供了一系列的交互方法。初始化完成后

    2024年02月06日
    浏览(31)
  • Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

    分析相关功能所抓取的数据包和完整大作业报告(word版)均已上传至 Wireshark抓包分析微信功能----tcp/ip选修课期末大作业-网络监控文档类资源-CSDN文库 适合Wireshark入门的小伙伴们或者赶计算机网络期末大作业无从下手的uu们。 铁汁们,请放心食用!加油吧,期末人!开卷,绝

    2024年02月08日
    浏览(62)
  • Java借助百度云人脸识别实现人脸注册、登录功能的完整示例

    先来看一下Java借助百度云人脸识别实现人脸注册登录功能的预览效果 登录百度智能云控制台: https://console.bce.baidu.com/ ,开通人脸识别 选择人脸识别项,创建人脸识别应用 人脸识别接口默认全部选择,也可以选择添加其他接口。 得到应用 ID、 API KEY、Secret Key 人脸识别API文

    2024年02月11日
    浏览(44)
  • 基于yolov2网络的人脸识别系统matlab仿真,包括识别正脸,侧脸等

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、训练阶段 4.2、预处理阶段 4.3、识别阶段 5.算法完整程序工程 matlab2022a        基于YoloV2网络的面部识别系统是一种先进的实时面部识别系统,它能够识别正面、侧面等各种角度的面部。这种

    2024年02月05日
    浏览(40)
  • 数字图像处理之matlab大作业:车牌识别

    1、基于模板的车牌识别,带GUI GitHub - joeyos/LicensePlateRecognition: License plate recognition 2、基于模板的车牌识别,注释详细 https://github.com/hangxyz/License-Plate-Recognition-by-MATLAB 3、其他优秀作品 1)董同学:带语音播报的车牌识别 车牌识别-基于模板匹配_勇敢歪歪的博客-CSDN博客_车牌识

    2024年02月08日
    浏览(42)
  • 基于MobileNet的人脸表情识别系统(MATLAB GUI版+原理详解)

    摘要:本篇博客介绍了基于MobileNet的人脸表情识别系统,支持图片识别、视频识别、摄像头识别等多种形式,通过GUI界面实现表情识别可视化展示。首先介绍了表情识别任务的背景与意义,总结近年来利用深度学习进行表情识别的相关技术和工作。在数据集选择上,本文选择

    2024年02月02日
    浏览(30)
  • SpringBoot集成百度人脸识别实现登陆注册功能Demo(二)

    前言 上一篇SpringBoot集成百度人脸demo中我使用的是调用本机摄像头完成人脸注册,本次demo根据业务需求的不同我采用文件上传的方式实现人脸注册。 效果演示 首页 注册 后端响应数据: 登录 后端响应数据: 项目结构 后端代码实现 1、BaiduAiUtils工具类封装

    2024年02月14日
    浏览(40)
  • Android基于opencv4.6.0实现人脸识别功能

    步骤: 1.整合opencv 2.获取相机的SurfaceView传到native层去检测(亦或是不断的获取SurfaceView的Bitmap,传到native层) 3.检测人脸,在本地保存人脸特征信息 4.上传至后台(不实现) 人脸识别实现的思路(例:人脸登录) 1.人脸信息录入 1.1获取相机的Bitmap,检测人脸(保证人脸信息比较精准

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包