数字图像处理MATLAB

news2024/11/27 6:24:28

数字图像处理MATLAB

基(本)操(作)

  1. 图片读取
A=imread('test.bmp');
imshow(A);

在这里插入图片描述
2. 图像写入

A=imread('test.bmp');
imwrite(A,'test-bak.bmp');
B=imread('test-bak.bmp');
imshow(B);

在这里插入图片描述
3. 图像文件信息查询

info=imfinfo('test.bmp');

在这里插入图片描述
4. 显示图像

imshow()
  1. 添加颜色条到坐标轴colorbar
RGB=imread('test.bmp');
I=rgb2gray(RGB);
h=[1 2 1;0 0 0;-1 -2 -1];
I2=filter2(h,I);
imshow(I2,[]),colorbar('vert')

在这里插入图片描述
6. 纹理映射wrap

A=imread('test.bmp');
I=rgb2gray(A);
[x,y,z]=sphere;
warp(x,y,z,I);

在这里插入图片描述

  1. 显示多幅图像subimage
RGB=imread('test.bmp');
I=rgb2gray(RGB);
subplot(1,2,1),subimage(RGB);
subplot(1,2,2),subimage(I);

在这里插入图片描述

代数操作

  1. 加法imadd
RGB=imread('test.bmp');
J=imadd(RGB,100); %增加亮度
subplot(1,2,1),subimage(RGB);
subplot(1,2,2),subimage(J);

在这里插入图片描述
2. 减法imsubtract

I=imread('test.bmp');
J=imsubtract(I,100);
subplot(1,2,1),subimage(I);
subplot(1,2,2),subimage(J);

在这里插入图片描述
3. 乘法immultiply

I=imread('test.bmp');
J=immultiply(I,0.5); %将值缩小0.5,变暗
sublpot(1,2,1),subimage(I);
subplot(1,2,1),subimage(I);
subplot(1,2,2),subimage(J);

在这里插入图片描述
4. 除法imdivide

I=imread('test.bmp');
J=imdivide(I,0.5); %除以0.5,值变大,亮度变亮
subplot(1,2,1),subimage(I);
subplot(1,2,2),subimage(J);

在这里插入图片描述

空间域操作

  1. 缩放imresize
I=imread('test.bmp');
X1=imresize(I,2); %放大,宽高扩大两倍
figure,imshow(I);

在这里插入图片描述
在这里插入图片描述
2. 旋转imrotate

I=imread('test.bmp');
J=imrotate(I,45,'bilinear'); %旋转45°,后面是使用的算法
subplot(1,2,1),subimage(I);
subplot(1,2,2),subimage(J);

在这里插入图片描述
3. 裁剪imcrop

I=imread('test.bmp');
J=imcrop(I,[75 68 130 112]); %裁剪区域
subplot(1,2,1),subimage(I);
subplot(1,2,2),subimage(J);

在这里插入图片描述

特定区域处理

  1. 选择多边形区域roipoly
I=imread('test.bmp');
c=[200 250 278 248 199 172];
r=[21 21 75 121 121 75];
BW=roipoly(I,c,r);
subplot(1,2,1),subimage(I); %12列的图像
subplot(1,2,2),subimage(BW);

在这里插入图片描述
2. 灰度区域选择roicolor

a=imread('test.bmp');
I=rgb2gray(a);
BW=roicolor(I,128,225);
subplot(1,2,1),subimage(I);
subplot(1,2,2),subimage(BW);

在这里插入图片描述

  1. 指定区域二值掩模poly2mask
x=[63 186 54 190 63];
y=[60 60 209 204 60];
bw=poly2mask(x,y,256,256);
imshow(bw);
hold on
plot(x,y,'b','LineWidth',2)
hold off

在这里插入图片描述
4. roifillt2函数实现区域滤波
5. roifill 函数实现对特定区域进行填充

图像变换

  1. fft2 函数和ifft2 函数分别是计算二维的快速傅里叶变换和反变换
  2. fftshift 函数实现了补零操作和改变图像显示象限
  3. dct2 函数采用基于快速傅里叶变换的算法,用于实现较大输入矩阵的离散余弦变换,与之对应,idct2 函数实现图像的二维逆离散余弦变换
  4. dctmtx 函数用于实现较小输入矩阵的离散余弦变换
  5. edge 函数用于提取图像的边缘
  6. radon 函数用来计算指定方向上图像矩阵的投影

图像增强、分割和编码

  1. imhist 函数产生图像的直方图
  2. histeq 函数用于对图像的直方图均衡化
  3. filter2 函数实现均值滤波
  4. wiener2 函数实现Wiener(维纳)滤波
  5. medfilt2 函数实现中值滤波

图像模糊及复原

  1. deconvwnr 函数:使用维纳滤波器
  2. deconvreg 函数:使用约束最小二乘滤波器
  3. deconvlucy 函数:使用Lucy-Richardson 滤波器
  4. deconvblind 函数:使用盲卷积算法
a=imread('test.bmp');
I=rgb2gray(a);
figure;imshow(I);  %原始图像
title('Original Image');
PSF=fspecial('motion',13,45); %运动模糊
figure;imshow(PSF);	%真实的PSF图像
Blurred=imfilter(I,PSF,'circ','conv'); %得到运动模糊图像
figure;imshow(Blurred);title('Blurred Image');	%模糊化的图像
INITPSF=ones(size(PSF));
[J,P]=deconvblind(Blurred,INITPSF,30); %使用盲卷积
figure;imshow(J);		%盲卷积初步复原的图像
%figure;imshow(P,[],'notruesize'); %旧版本
figure;imshow(P,[],'InitialMagnification','fit');  %初步重建使用的PSF

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【创建型】生成器模式(Builder)

目录生成器模式(Builder)适用场景生成器模式实例代码(Java)生成器模式(Builder) 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用场景 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方…

【SpringBoot笔记22】SpringBoot框架集成Redis数据库

这篇文章,主要介绍SpringBoot框架如何集成Redis数据库。 目录 一、SpringBoot集成Redis 1.1、引入依赖 1.2、配置redis连接信息 1.3、添加RedisTemplate配置类 1.4、编写测试类 1.5、运行测试 一、SpringBoot集成Redis Redis是一个非关系型数据库&#xff0c…

PCIe ECAM机制访问PCIE的配置空间

1.PCIe ECAM机制 PCI Express Enhanced Configuration Access Mechanism (ECAM)是访问PCIe配置空间的一种机制。是将PCIe的配置空间映射到MEM空间,使用MEM访问其配置空间的一种实现。可参考NCB-PCI_Express_Base_5.0r1.0-2019-05-22.pdf的第7.2.2小节。 其地址映射…

上海亚商投顾:沪指录得6连阳 两市成交再度破万亿

上海亚商投顾前言:无惧大盘大跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日横盘震荡,收盘集体小幅上扬,日K线均录得6连阳。虚拟现实概念股集体拉升&#…

【SA-Token】授权 鉴权中心微服务

授权 鉴权中心微服务 1 什么是JWT 1.2 JWT 的基本概念 1.3 JSON Web Token jwt 是一个开放标准 它定义了一种紧凑的、自包含的方式 用于作为JSON 对象在各方之间安全地传输信息 1.4.那些场景下可以考虑使用JWT ? ​ 1.用户授权 信息交换 1.5 JWT的结构及其含义 …

镜频抑制滤波器对射频接收前端输出噪声的影响

射频接收前端包括LNA、Filter、Mixer等部件,从噪声因子级联的角度讲,希望接收链路第一级为高增益、低噪声系数放大器,以期望得到较低的系统噪声系数,提高接收灵敏度。除LNA外,接收链路还有一个关键的部件——镜频抑制滤…

精读大型网站架构:前端架构模块化的方法及困境,自研框架Trick

模块化的方法 网页和网页之间有很多相似或者相同的模块,模块化就是把这些模块抽离并独立管理。而模块化的方法,就是把模块的HTML、CSS和JavaScript文件独立出来,然后通过某种方法关联到使用这些模块的网页上。 在介绍模块化的具体方法之前&…

consul--基础--05--api

consul–基础–05–api 1、介绍 主要接口是RESTful HTTP API,该API可以用来增删查改nodes、services、checks、configguration。所有的endpoints主要分为以下类别 kv:Key/Value存储agent:Agent控制catalog:管理nodes和serviceshe…

数据结构-例题实训作业-二叉树相关

第1关:以先序的方式建立二叉树 任务描述 本关任务:以先序的方式建立二叉树并显示(顺时针90度后看) 相关知识 为了完成本关任务,你需要掌握: 1.二叉树的概念 2.二叉树的先序遍历方式 3.二叉树的遍历。 编程要求 在以下空白处补写代码,以先序方式完成二叉树的建立。 //…

计算机组成原理浮点数表示

浮点数表示 浮点数的表示分为阶码和尾数; 比如3.026*1011;阶码是11;尾数是3.026; 对于阶码: 阶符为正,小数点向后移n位(n表示阶的大小); 阶符为负,小数点向前移n位(n表示阶的大小&a…

基础IO(上)——Linux

文章目录1.储备知识2. 文件描述符2.1 c接口2.2 直接使用系统接口2.3 open函数返回值2.4 文件描述符fd2.5 周边文件3. 重定向3.1 输出重定向3.2 输出重定向3.3 追加重定向3.4 dup4. 如何理解一切皆文件?1.储备知识 对文件的操作范畴: 在系统角度理解文件 …

R语言生物群落数据统计分析

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。本教学以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线,通过多个来…

中医-通过舌象判断身体状况

本文分享通过舌象判断身体的整体状况(中医角度),得出一个可供辨证的参考,并且可以根据舌象做出相关的饮食调整,本文主讲理论,相关舌象图片易引人不适,如需找相关图片,可根据本文中的…

【SpringBoot】一文了解SpringBoot配置高级

文章目录前言ConfigurationProperties使用场景小结宽松绑定/松散绑定🌕博客x主页:己不由心王道长🌕! 🌎文章说明:SpringBoot配置高级🌎 ✅系列专栏:SpringBoot 🌴本篇内容&#xff1…

javaweb JavaScript快速入门 对象 BOM DOM 事件监听

JavaScript 引入方式 1.内部脚本:将 JS代码定义在HTML页面中 2.外部脚本:将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中 JavaScript 基础语法 windows.alert可以省略windows var: 1.作用域为全局变量 2.变量可以重复定义 &#xf…

半桥LLC谐振变换器及同步整流MATLAB仿真(一)

在开关电源中,LLC谐振变换器是最常见的DC-DC变换器之一。 LLC谐振电路早在上世纪80年代就已经提出,到如今仍有广泛的应用,可见其优越性。其优点表现在: 1.LLC的开关器件能实现软开关,开关损耗小 2.效率高、功率密度大 …

[附源码]计算机毕业设计JAVA 宠物医院管理系统

[附源码]计算机毕业设计JAVA 宠物医院管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

计算结构体大小(内存对齐原则)struct、union、class

这篇博客详细的介绍结构体的大小sizeof:union、struct、class。 一、不同数据类型所占的内存大小: 二、union联合体的结构体大小 1、关注点: (1)联合体的大小为所有成员变量中所占字节数最大的; &#xf…

【Redis 常用五大数据类型】

常用五大数据类型 官方获取redis常见数据类型操作命令: http://www.redis.cn/commands.html 1.Redis键(key) keys * 查看当前库所有key (匹配:keys *1) exists key 判断某个key是否存在 type key 查看你的key是什么类型 del key 删除指定的key数据 unli…

springmvc1:初探springmvc

一.springmvc简介 1.springmvc是什么? ①mvc解释 m:模型层(javabean处理数据)例如pojo类 Service或Daov:视图层(页面展示数据)c:控制层(接受请求和响应浏览器&#xf…