数字图像灰度图像二值化实验报告matlab实现1

合集下载

matlab数字图像处理实验报告

matlab数字图像处理实验报告
Z2=imsubtract(A,B)
Z3=immultiply(A,B)
Z4=imdivide(A,B)
subplot(3,2,1); imshow(A);title('原图像A') subplot(3,2,2); imshow(B);title('原图像B') subplot(3,2,3); imshow(Z1);title('加法图像') subplot(3,2,4); imshow(Z2);title('减法图像') subplot(3,2,5); imshow(Z3);title('乘法图像') subplot(3,2,6); imshow(Z2);title('除法图像')
h=fspecial('average');%均值滤波器
3基于卷积的图像滤波函数
imfilter函数,filter2函数,二维卷积conv2滤波,都可用于图像滤波, 用法类似,如:
i=imread('e:\w01.tif');
j=filter2(h,i);
或者:
h=fspecial(‘prewitt')
用法:BW = edge(l,'sobel',thresh,direction),
I为检测对象;边缘检测算子可用sobel,roberts,prewitt,zerocross,log,canny;
thresh指定阈值,检测时忽略所有小于阈值的边缘,默认自动选择阈值;direction方向,在所指定的方向direction上,用算子进行边缘检测horizontal(水平方向)、vertical(垂直方向)或both(两个方向)。

matlab图像处理实验报告

matlab图像处理实验报告

matlab图像处理实验报告《Matlab图像处理实验报告》摘要:本实验报告通过使用Matlab软件进行图像处理实验,对图像进行了灰度化、二值化、边缘检测、图像增强等处理,通过实验结果分析,验证了Matlab在图像处理领域的实用性和有效性。

1. 实验目的本实验旨在通过Matlab软件进行图像处理实验,掌握图像处理的基本方法和技术,提高对图像处理算法的理解和应用能力。

2. 实验原理图像处理是对图像进行数字化处理的过程,主要包括图像获取、图像预处理、图像增强、图像分割和图像识别等步骤。

Matlab是一种功能强大的科学计算软件,具有丰富的图像处理工具箱,可用于图像的处理、分析和识别。

3. 实验内容(1)图像灰度化首先,通过Matlab读取一幅彩色图像,并将其转换为灰度图像。

利用Matlab 中的rgb2gray函数,将RGB图像转换为灰度图像,实现图像的灰度化处理。

(2)图像二值化接着,对灰度图像进行二值化处理,将图像转换为黑白二值图像。

利用Matlab 中的im2bw函数,根据设定的阈值对灰度图像进行二值化处理,实现图像的二值化处理。

(3)边缘检测然后,对二值图像进行边缘检测处理,提取图像的边缘信息。

利用Matlab中的edge函数,对二值图像进行边缘检测处理,实现图像的边缘检测处理。

(4)图像增强最后,对原始图像进行图像增强处理,改善图像的质量和清晰度。

利用Matlab 中的imadjust函数,对原始图像进行图像增强处理,实现图像的增强处理。

4. 实验结果分析通过实验结果分析,可以发现Matlab在图像处理领域具有较高的实用性和有效性。

通过Matlab软件进行图像处理实验,可以快速、方便地实现图像的处理和分析,提高图像处理的效率和精度,为图像处理技术的研究和应用提供了重要的工具和支持。

5. 结论本实验通过Matlab图像处理实验,掌握了图像处理的基本方法和技术,提高了对图像处理算法的理解和应用能力。

数字图像处理matlab版实验报告

数字图像处理matlab版实验报告

数字图像处理实验报告(matlab版)一.实验目的:熟悉数字图像处理中各种椒盐噪声的实质,明确各种滤波算法的的原理。

进一步熟悉matlab的编程环境,熟悉各种滤波算法对应的matlab函数。

实验结果给以数字图像处理课程各种算法处理效果一个更直观的印象。

二.实验原理:1.IPT(图像处理工具箱)基本函数介绍1. imread函数该函数用于从图形文件中读出图像。

格式A=IMRAED(FILENAME,FMT)。

该函数把FILENAME 中的图像读到A中。

若文件包含一个灰度图,则为二维矩阵。

若文件包含一个真彩图(RGB),则A为一三维矩阵。

FILENAME指明文件,FMT指明文件格式。

格式[X,MAP]=IMREAD(FILENAME,FMT).把FILENAME中的索引图读入X,其相应的调色板读到MAP中.图像文件中的调色板会被自动在范围[0,1]内重新调节。

FMT的可能取值为jpg 或jpeg,tif或tiff,bmp,png,hdf,pcx,xwd。

2.imwrite函数该函数用于把图像写入图形文件中。

格式IMWRITE(A,FILENAME,FMT)把图像A写入文件FILENAME中。

FILENAME指明文件名, FMT指明文件格式。

A既可以是一个灰度图,也可以是一个真彩图像。

格式IMWRITE(X,MAP,FILENAME,FMT)把索引图及其调色板写入FILENAME中。

MAP必须为合法的MATLAB调色板,大多数图像格式不支持多于256色的调色板。

FMT的可能取值为tif或tiff,jpg或jpeg,bmp,png,hdf,pcx,xwd。

3. imshow函数显示图像。

格式IMSHOW(I,N).用N级离散灰度级显示灰度图象I。

若省略N,默认用256级灰度显示24位图像,64级灰度显示其他系统。

格式IMSHOW(I,[LOW HIGH]),把I 作为灰度图显示。

LOW值指定为黑色,HIGH指定为白色,中间为按比例分布的灰色。

图像二值化及模板匹配matlab实现

图像二值化及模板匹配matlab实现

图像二值化图像的二值化处理(4张)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。

将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。

在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。

其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。

所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。

使用matlab编程实现两幅图像的块匹配操作其中rgb_image=imread('A.bmp');gray_image=rgb2gray(rgb_image);image=double(gray_image);ed_image=image;rgb_back=imread('B.bmp');红色部分表示要匹配的两张图片附件所含文件:附件中m文件代码:复制内容到剪贴板代码:clear;echo off;% for g=267% a1=imread([num2str(g),'.jpg']);rgb_image=imread('A.bmp');gray_image=rgb2gray(rgb_image);image=double(gray_image);ed_image=image;rgb_back=imread('B.bmp');gray_back=rgb2gray(rgb_back);back=double(gray_back);[y1,y2,x1,x2]=rowcol(back,image);[M,N]=size(back); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相关系数法%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for i=x1:5:x2for j=y1:5:y2I=image(i:i+4,j:j+4);%块T=back(i:i+4,j:j+4);aver_I=mean(mean(I));%块均值aver_T=mean(mean(T));sub_I=I(1:5,1:5)-aver_I;%每块与均值之差squ_sub_I=sub_I.*sub_I;%差值平方sum_sub_I=sum(sum(sub_I)); %差值之和sum_squ_sub_I=sum(sum(squ_sub_I));%差值平方和sub_T=T(1:5,1:5)-aver_T;squ_sub_T=sub_T.*sub_T;sum_sub_T=sum(sum(sub_T));sum_squ_sub_T=sum(sum(squ_sub_T));mul=sub_I.*sub_T;sum_mul=sum(sum(mul)); %分子R=sum_mul/((sqrt(sum_squ_sub_I))*(sqrt(sum_squ_sub_T)));if R>0.9image(i:i+4,j:j+4)=255;endendendimage(x1:x2,y1)=255;image(x1:x2,y2)=255;image(x1,y1:y2)=255;image(x2,y1:y2)=255;h=mat2gray(image);figure,imshow(h)ed1=edge(ed_image,'canny',0.08);ed2=edge(ed_image,'prewitt',14);ed=ed1&ed2;% figure,imshow(ed)% figure,imshow(ed1)% figure,imshow(ed2)。

matlab简单图像处理实验报告

matlab简单图像处理实验报告

实验一:图像文件类型转换实验目的:理解数字图像文件的几种基本类型掌握在MATLAB中进行图象文件类型转换的方法观察图象转换前后的效果加深对图象文件类型的理解熟悉图象格式、颜色系统间的转换实验内容:1)灰度图像与索引图像的相互转换2)RGB图像与索引图像的相互转换3)将图像转换为二值化图像实验方法:利用MATLAB工具进行实验一、灰度图像到索引图像的转换clear>> info=imfinfo('rice.png')info =Filename: 'rice.png'FileModDate: '26-Jan-2003 00:03:06'FileSize: 44607Format: 'png'FormatVersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [137 80 78 71 13 10 26 10]Colormap: []Histogram: []InterlaceType: 'none'Transparency: 'none'SimpleTransparencyData: []BackgroundColor: []RenderingIntent: []Chromaticities: []Gamma: []XResolution: []YResolution: []ResolutionUnit: []XOffset: []YOffset: []OffsetUnit: []SignificantBits: []ImageModTime: '27 Dec 2002 19:57:12 +0000'Title: []Author: []Description: 'Rice grains'Copyright: 'Copyright The MathWorks, Inc.'CreationTime: []Software: []Disclaimer: []Warning: []Source: []Comment: []OtherText: []RGB=imread('rice.png');>> figure(3);>> imshow(RGB);>> figure(1);>> [RGB1,map1]=gray2ind(RGB,128);>> imshow(RGB1,map1);>> figure(2);>> [RGB2,map2]=gray2ind(RGB,16);>> imshow(RGB2,map2);>> imwrite(RGB1,map1,'3.bmp');>> imwrite(RGB2,map2,'4.bmp');图3 图1图2实验结果分析:从上述实验结果,我们可以看出灰度级不同,图像的亮度也不一样。

数字图像处理实验程序MATLAB

数字图像处理实验程序MATLAB

实验一内容(一)(1)彩色图像变灰度图像A=imread('1.jpg');B=rgb2gray(A);figuresubplot(1,2,1),imshow(A)title('原图')subplot(1,2,2),imshow(B)title('原图灰度图像')(2)彩色图像变索引图像A=imread('1.jpg');figuresubplot(1,2,1),imshow(A)title('原图')[X,map]=rgb2ind(A,128);subplot(1,2,2),imshow(X,map)title('原图索引图像')(3)彩色图像变二值图像A=imread('1.jpg');figuresubplot(1,2,1),imshow(A)title('原图')C=im2bw(A,0.2);subplot(1,2,2),imshow(C)title('原图二值图像')(4)灰度图像变索引图像(一)A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')C=grayslice(B,39);subplot(1,2,2),imshow(C)title('灰度变索引图像')(5)灰度图像变索引图像(二)A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')[X,map]=gray2ind(B,63);subplot(1,2,2),imshow(X,map)title('灰度变索引图像')(6)灰度图像变彩色图像A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')C=gray2rgb(B,map);subplot(1,2,2),imshow(C)title('灰度变彩色图像')内容(二)(1)灰度平均值A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')B=double(B);[m,n]=size(B);sumg=0.0;for i=1:m;for j=1:n;sumg=sumg+B(i,j);endendavg=sumg/(m*n) % 均值maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度(2)彩色平均值figureimshow(A)title('彩色图像')A=double(A);[m,n]=size(A);sumg=0.0;for i=1:m;for j=1:n;sumg=sumg+A(i,j);endendavg=sumg/(m*n)squre=m*nmaxg=max(max(A))ming=min(min(A))内容(三)采样量化实验二图像变换傅里叶变换、反变换、I=imread('19.jpg');A=rgb2gray(I);x1=fft2(A);x2=fftshift(x1);x3=ifft(x1)/10;figure,subplot(1,4,1);imshow(A)title('原图');subplot(1,4,2);imshow(x1)title('频谱图');subplot(1,4,3);imshow(log(abs(x2)+1),[0 10]);title('直流分量移至频谱图中心');subplot(1,4,4);imshow(x3,[0 10])title('傅里叶反变换');DCT变换、反变换I=rgb2gray(X);subplot(1,3,1);imshow(I);title('原图');subplot(1,3,2);J=dct2(I);imshow(log(abs(J)),[0 20]);title('二维离散余弦变换');subplot(1,3,3);K=idct2(J)/20;imshow(K,[0 20]);title('二维离散反余弦变换');利用DCT变换压缩图像I=imread('19.jpg');A=rgb2gray(I);B=DCT2(A);B(abs(B)<0.1)=0;C=idct2(B)/255;figure,subplot(1,3,1);imshow(A);title('原图');subplot(1,3,2);imshow(B);title('二维离散余弦变换频谱图');subplot(1,3,3);imshow(C);title('压缩后图像');实验三图像增强(一)灰度图像增强(1)线性变换法clc;clear all;I=imread('19.jpg');A=rgb2gray(I);colormap;imshow(A);%设置图像倒数参数j=imadjust(A,[0 1],[1 0],1.5);figure;subimage(j)(2)灰度图像的非线性变换(之对数)I=imread('19.jpg');colormapimshow(I)J=double(I);J=45*log(J+1);I=uint8(J);figure,subimage(J)(二)直方图校正直方图均衡I=imread('19.jpg');B=rgb2gray(I);imshow(B,[40 255]);figure,imhist(B)title('直方图')J=imadjust(B,[0.15 0.9],[0 1]); figure,imhist(B,64)title('均衡直方图')滤波I=imread('19.jpg');figure,B=rgb2gray(I);C=imnoise(B,'salt & pepper',0.02);D=imfilter(B,fspecial('average',3)); E=medfilt2(B);subplot(1,3,2)imshow(D)title('均值滤波')subplot(1,3,3)imshow(D)title('中值滤波')subplot(1,3,1)imshow(C)title('加入椒盐噪声图像')锐化处理I=imread('19.jpg');A=rgb2gray(I);figure,subplot(2,3,1),imshow(A);title('原图');hs=fspecial('sobel');S=imfilter(A,hs);hp=fspecial('prewitt');P=imfilter(A,hs);A=double(A);%双精度型H=[0 1 0,1 -4 1,0 1 0];%拉普拉斯算子J=conv2(A,H,'same');K=A-J;subplot(2,3,2),imshow(K);title('拉普拉斯锐化图像');B=edge(A,'roberts',0.1);subplot(2,3,3),imshow(B);title('罗伯特锐化图像');subplot(2,3,4),imshow(S);title('sobel算子锐化图像');subplot(2,3,5),imshow(P);title('prewitt算子锐化图像');实验四放缩A=imread('19.jpg');imshow(A);title('原图')B=imresize(A,2)figure,imshow(B);title('二倍图')C=imresize(A,0.5)figureimshow(C)title('二分之一图')旋转A=imread('19.jpg');figuresubplot(1,4,1),imshow(A);title('原图像')B=imrotate(A,30,'nearest');subplot(1,4,2),imshow(uint8(B));title('旋转30度图像')C=imrotate(A,45,'nearest');subplot(1,4,3),imshow(uint8(C));title('旋转45度图像')D=imrotate(A,60,'nearest');subplot(1,4,4),imshow(uint8(D));title('旋转60度图像')镜像A1=imread('19.jpg');A1=double(A1);Figure,subplot(1,4,1),imshow(uint8(A1));H=size(A1);title('原像')A2(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,1:H(2),1:H(3));%垂直镜像subplot(1,4,2),imshow(uint8(A2));title('垂直镜像')A3(1:H(1),1:H(2),1:H(3))=A1(1:H(1),H(2):-1:1,1:H(3));%水平镜像subplot(1,4,3),imshow(uint8(A3));title('水平镜像')A4(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,H(2):-1:1,1:H(3));%对角镜像subplot(1,4,4),imshow(uint8(A4));title('对角镜像')剪切A1=imread('19.jpg');A2=imcrop(A1,[75 68 100 110]);figuresubplot(1,2,1),imshow(A1);title('原像')subplot(1,2,2),imshow(A2);title('剪切后像')实验五阈值分割A=imread('19.jpg');figuresubplot(1,4,1),imshow(A);title('原图像')B=im2bw(A,91/255);subplot(1,4,2),imshow(B);title('阈值91的图像')C=im2bw(A,71/255);subplot(1,4,3),imshow(C);title('阈值71的图像')D=im2bw(A,140/255);subplot(1,4,4),imshow(D);title('阈值140的图像')边缘检测I=imread('19.jpg');A=rgb2gray(I);figuresubplot(1,4,1),imshow(A);title('原图像')B=edge(A,'sobel',0.1);%edge边缘检测函数subplot(1,4,2),imshow(B);title('sobel算子检测')C=edge(A,'roberts',0.1);%0.1为门限subplot(1,4,3),imshow(C);title('roberts算子检测')D=edge(A,'prewitt',0.1);subplot(1,4,4),imshow(D);title('prewitt算子检测')所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告一、应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换;1、灰度图像I转换成索引图像X,二值图像A,并显示I=imread('E:\mao2.bmp');[X,map]=gray2ind(I,144); %指定灰度级为144,转换成索引图像A=im2bw(I); %转换成二值图像Asubplot(131);imshow(I); title('原始图像'); %显示图像subplot(132);imshow(X); title('索引图像')subplot(133);imshow(A) ;title('二值图像')2、彩图B分别转换为灰度图像I,索引图像X,二值图像A,并显示B=imread('E:\mao1.bmp');I=rgb2gray(B);[X,map]=rgb2ind(B);A=im2bw(B);subplot(141);imshow(B); title('原始图像');subplot(142);imshow(I); title('灰度图像');subplot(143);imshow(X); title('索引图像');subplot(144);imshow(A);title('二值图像');3、索引图像X转换成灰度图像I和二值图像A,并显示I=imread('E:\mao1.bmp');[X,map]=gray2ind(I,144); %将读入的灰度图像转换成索引图像H=ind2gray(X,map); %索引图像到灰度图像A=im2bw(X); %索引图像到二值图像subplot(131);imshow(X); title('索引图像'); %显示图像subplot(132);imshow(H); title('灰度图像');subplot(133);imshow(A) ;title('二值图像')二、应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。

matlab灰度处理二值化处理

matlab灰度处理二值化处理

Matlab在图像处理领域有着广泛的应用,其中灰度处理和二值化处理是常见的图像处理方法之一。

本文将详细介绍Matlab中的灰度处理和二值化处理的原理和实现方法。

一、灰度处理1. 灰度图像的概念灰度图像是指图像中每个像素的灰度值介于0-255之间的图像。

在灰度图像中,0代表黑色,255代表白色,中间的灰度值代表了不同程度的灰色。

2. 灰度处理的原理灰度处理是将彩色图像转换为灰度图像的过程。

在Matlab中,可以通过以下公式实现灰度处理:灰度值 = 0.299 * R + 0.587 * G + 0.114 * B其中,R、G、B分别代表彩色图像中的红色、绿色和蓝色分量。

通过对每个像素的RGB分量进行加权求和,可以得到对应的灰度值。

3. 灰度处理的实现在Matlab中,可以使用`rgb2gray`函数实现灰度处理。

具体的代码如下:```matlab读取彩色图像rgbImage = imread('example.jpg');灰度处理grayImage = rgb2gray(rgbImage);显示灰度图像imshow(grayImage);```二、二值化处理1. 二值化图像的概念二值化图像是指将灰度图像中的像素值转换为0或255的图像。

在二值化图像中,像素值为0代表黑色,像素值为255代表白色。

2. 二值化处理的原理二值化处理的目的是将灰度图像中的灰度值转换为0或255。

一般可以通过设置一个阈值,将低于阈值的像素值设为0,将高于阈值的像素值设为255。

3. 二值化处理的实现在Matlab中,可以使用`im2bw`函数实现二值化处理。

具体的代码如下:```matlab读取灰度图像grayImage = imread('example_gray.jpg');设置阈值threshold = 128;二值化处理binaryImage = im2bw(grayImage, threshold/255);显示二值化图像imshow(binaryImage);```三、总结本文详细介绍了Matlab中灰度处理和二值化处理的原理和实现方法。

数字图像处理实验1 MATLAB图像处理编程基础 实验报告

数字图像处理实验1  MATLAB图像处理编程基础 实验报告

实验报告课程名称数字图像处理实验项目MATLAB图像处理编程基础指导教师学院光电信息与通信工程__专业电子信息工程班级/学号学生姓名______ __________实验日期______ _成绩______________________实验1 MATLAB图像处理编程基础一、实验目的1.了解MATLAB产品体系和了解MATLAB图像处理工具箱。

2.掌握MATLAB的基本应用方法。

3.掌握MATLAB图像存储/图像数据类型/图像类型。

4.掌握图像文件的读/写/信息查询。

5.掌握图像显示--显示多幅图像、4种图像类型的显示方法、特殊图像的显示技术6.编程实现图像类型间的转换和图像算术操作。

二、实验的硬件、软件平台硬件:计算机软件:操作系统:Windows XP应用软件:MATLAB 7.0.1三、MATLAB图像处理工具箱的功能图像处理工具箱是一个函数的集合,它扩展了matlab数值计算环境的能力。

这个工具箱支持了大量图像处理操作,包括:空间图像变换 Spatial image transformations形态操作 Morphological operations邻域和块操作 Neighborhood and block operations线性滤波和滤波器设计 Linear filtering and filter design格式变换 Transforms图像分析和增强 Image analysis and enhancement图像登记 Image registration清晰化处理 Deblurring兴趣区处理 Region of interest operations四、说明使用MATLAB进行图像处理所需函数调用步骤在Command Window中,以命令行单句调用某一函数只需写xxx(函数名)xxxxxxx)这样就可以调用了.五、给出MATLAB图像处理工具箱的数据类型和4种基本图像类型工具箱里的函数都是M文件,可以通过type function_name来查看代码,也可以通过写自己的matlab函数来扩展工具箱。

MATLAB数字图像处理实验-推荐下载

MATLAB数字图像处理实验-推荐下载

imshow(a); title('灰度图');
figure; b=dct2(a); imshow(log(abs(b)),[]),colormap(jet(64)),colorbar; title('DCT 变换结果');
figure; b(abs(b)<10)=0; % idct c=idct2(b)/255; imshow(c); title('IDCT 变换结果'); 图象处理变换(三)小波变换 实验内容: 熟悉小波变换的概念和原理,熟悉 matlab 小波工具箱主要函数的使 用.利用二维小波分析对一幅图象作 2 层小波分解,并在此基础上提取各层的低 频信息实现图像的压缩. 程序如下:
(2)锐化:锐化的目的是增强被模糊的细节。锐化是用高通滤波器来完成,在 空域中,接近原点处为正,在远离原点处为负。 利用模板进行图象增强就是进行模板卷积。 1、 利用二个低通邻域平均模板(3×3 和 9×9)对一幅图象进行平滑,验证模 板尺寸对图象的模糊效果的影响。 2、 利用一个低通模板对一幅有噪图象(GAUSS 白噪声)进行滤波,检验两种 滤波模板(分别使用一个 5×5 的线性邻域平均模板和一个非线性模板:3×5 中值滤波器)对噪声的滤波效果。 3、 选择一个经过低通滤波器滤波的模糊图象,利用 sobel 和 prewitt 水平边 缘增强高通滤波器(模板)对其进行高通滤波图象边缘增强,验证模板的滤波 效果。 4、 选择一幅灰度图象分别利用 一阶 Sobel 算子和二阶 Laplacian 算子对其进 行边缘检测,验证检测效果。 二、实验步骤: 1、利用低通邻域平均模板进行平滑:
figure subplot(2,2,1) imshow(I) J=find(I<150); I(J)=0; J=find(I>=150); I(J)=255; title(' 实验一(4)图像二值化 ( 域值为 150 ) ');

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。

a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。

s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b)b=double(b) 平移后的图像平移后的傅⾥叶频谱c=fft2(b);e=fftshift(c);l=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。

matlab 数字图像处理实验报告(五份)

matlab 数字图像处理实验报告(五份)

《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。

二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。

此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。

常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。

假定原图像为f(x,y),经傅立叶变换为F(u,v)。

频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\624baf9dbcc4910a.jpg');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'IMG_20170929_130307.jpg', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 196Original Image2.给定函数的累积直方图。

MATLAB图像处理命令及图形基本操作实验报告

MATLAB图像处理命令及图形基本操作实验报告

实验(一)常用MATLAB图像处理命令及图形基本操作
end
end
end
for i=1:m
for j=1:n
out(i,j,1)=R(i,j);
% imshow(out)
out(i,j,2)=G(i,j);
out(i,j,3)=B(i,j);
end
end
out=out/256;
figure(1),imshow(out)
%imshow(out)
size(out)
imwrite(out,'PseudoColor.tiff');
end
4、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

RGB=imread('f:\1.jpg')
gray = rgb2gray(RGB)
I = im2bw(RGB,0.5)
subplot(3,1,1);imshow(a);title('原图像');
subplot(3,1,2);imshow(i);title('灰度图像');colormap(gray);
subplot(3,1,3);imshow(I);title('二值图像');
实验结果如图所示:
四、实验总结:
Imread 是读入文件的操作代码,subplot是将多个图画到一个平面上的工具本次实验在老师的带领下熟悉了matlab软件的具体操作
通过书写代码,操作程序实现了灰度图像转换为伪彩色图像;
通过书写代码实现了读入一幅RGB图像,并将其变换为灰度图像和二值图像,然后在同一个窗口中显示RGB图像和灰度图像。

数字图像灰度图像二值化实验报告matlab实现1

数字图像灰度图像二值化实验报告matlab实现1

数字图像灰度图像二值化实验报告matlab实现数字图像处理实验报告实验二灰度图像的二值化处理学号姓名日期实验二灰度图像的二值化处理一、实验目的图像二值化是数字图像处理技术中的一项基本技术,二值化图像的显示与打印十分方便,存储与传输也非常容易,在目标识别、图像分析、文本增强、字符识别等领域得到广泛应用。

图像二值化是将灰度图像转化为只有黑白两类像素的图像,大多采用阈值化算法处理。

在不同的应用中,阈值的选取决定着图像特征信息的保留。

因此,图像二值化技术的关键在于如何选取阈值。

二、实验内容1、编程绘制数字图像的直方图。

2、灰度图像二值化处理。

三、实验要求1、自己选择灰度图像。

2、选择多种阈值分割算法,并比较和分析图像二值化处理的结果。

3、使用VC++编程序。

四、设计思想(阈值选取算法)灰度图像是指只含亮度信息,不含色彩信息的图像,将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。

图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。

即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。

阀值分割选取算法有:典型的全局阀值算法的Otsu 算法、局部阀值方法中的Bersen算法、灰度拉伸法、直方图方法等等。

1.Otsu算法的设计思想:设阀值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。

对图像设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。

2.Bersen算法的设计思想:把灰度阈值选取为随像素位置变化而变化的函数,它是一种动态选择阈值的自适应方法。

3.灰度拉伸算法设计思想:灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。

4.直方图算法的设计思想:把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告班级:姓名:学号:数字图像处理实验报告一.实验名称:图像灰度变换二.实验目的:1 学会使用Matlab;2 学会用Matlab软件对图像灰度进行变换,感受各种不同的灰度变换方法对最终图像效果的影响。

三.实验原理:Matlab中经常使用的一些图像处理函数:读取图像:img=imread('filename'); //支持TIFF,JPEG,GIF,BMP,PNG,XWD等文件格式。

显示图像:imshow(img,G); //G表示显示该图像的灰度级数,如省略则默认为256。

保存图片:imwrite(img,'filename'); //不支持GIF格式,其他与imread相同。

亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in至high_in之间的值映射到low_out至high_out之间,low_in 以下及high_in以上归零。

绘制直方图:imhist(img);直方图均衡化:histeq(img,newlevel); //newlevel表示输出图像指定的灰度级数。

像平滑与锐化(空间滤波):w=fspecial('type',parameters);imfilter(img,w); //这两个函数结合将变得十分强大,可以实现photoshop里的任意滤镜。

图像复原:deconvlucy(img,PSF); //可用于图像降噪、去模糊等处理。

四.实验步骤:1.获取实验用图像:Fig3.10(b).jpg. 使用imread函数将图像读入Matlab。

2.产生灰度变换函数T1,使得:0.3r r < 0.35s = 0.105+2.6333(r–0.35) 0.35 ≤ r ≤ 0.65 1+0.3(r–1) r > 0.65用T1对原图像Fig3.10(b).jpg进行处理,打印处理后的新图像。

数字图像处理实验报告-基于Matlab

数字图像处理实验报告-基于Matlab

华东师范大学电子工程系2017.6实验1:图像灰度级修正【实验目的】掌握常用的图像灰度级修正方法(灰度变换法和直方图均衡化),加深对直方图的理解。

观察图像的增强效果,对灰度级修正前后的图像加以比较。

【实验内容】1)编程实现图像的灰度变换,改变图像的输入、输出映射参数范围(线性拉伸和反比);2)修改参数gamma值(大于、小于、等于1),观察处理结果;3)对图像直方图作均衡化处理,显示均衡前后的图像及其直方图。

【实验代码】original=imread('lena.bmp');linstr=imadjust(original,[0.3 0.7],[0 1]); %线性拉伸opposite=imadjust(original,[0 1],[1 0]); %反比above=imadjust(original,[0 1],[0 1],2); %gamma>1equal=imadjust(original,[0 1],[0 1],1); %gamma=1below=imadjust(original,[0 1],[0 1],0.5); %gamma<1subplot(3,3,1);imshow(original);title('原图像');subplot(3,3,2);imshow(linstr);title('线性拉伸');subplot(3,3,3);imshow(opposite);title('反比');subplot(3,3,4);imshow(above);title('gamma>1');subplot(3,3,5);imshow(equal);title('gamma=1');subplot(3,3,6);imshow(below);title('gamma<1');subplot(3,3,7);imhist(original);title('原图像直方图'); histequal=histeq(original);%对图像均衡化subplot(3,3,8);imshow(histequal);title('均衡后的图像'); subplot(3,3,9);imhist(histequal);title('均衡图像的直方图'); axis([0 256 0 2000]);【输出图像】【实验思考】根据以下图片以及实验结果可知gamma>1时图像整体变暗,灰度级整体变小;gamma<1时图像整体变亮,灰度级整体变小;而gamma=1时,图像维持不变。

《数字图像处理基础》课程实验报告-1-Matlab工具熟悉

《数字图像处理基础》课程实验报告-1-Matlab工具熟悉
Offset: 3361318
Predictor: 'Horizontal differencing'
UnknownTags: [2x1 struct]
>> imwrite(I,'flower.jpg','quality',50);
>> imwrite(I,'flower.bmp');
>> L=imread('Lenna.jpg');
2.利用whos命令提取该读入图像flower.tif的基本信息;
语法:whosvariable_list
3.利用imshow()函数来显示这幅图像;
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
语法:info = imfinfo(filename,fmt)
info = imfinfo(filename)
imwrite(I,'flower50.jpg','quality',50);q为50时图像如下:
imwrite(I,'flower100.jpg','quality',100);q为100时图像如下:
综上,q越大图像越细腻。
2.熟悉常用的数字图像文件格式与格式转换(灰度、索引、黑白、彩色)。在MATLAB环境下完成不同文件格式数字图像的格式转换。
二、实验原理
1.数字图像的矩阵表示。
2.数字图像的读、写和显示。
3.数据类和图像类型及其转化。
三、实验内容和步骤
1.利用imread( )函数读取一幅RGB图像,图像名为flower.tif,存入一个图像数组中;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像灰度图像二值化实验报告matlab
实现
数字图像处理
实验报告
实验二灰度图像的二值化处理
学号
姓名
日期
实验二灰度图像的二值化处理
一、实验目的
图像二值化是数字图像处理技术中的一项基本技术,二值化图像的显示与打印十分方便,存储与传输也非常容易,在目标识别、图像分析、文本增强、字符识别等领域得到广泛应用。

图像二值化是将灰度图像转化为只有黑白两类像素的图像,大多采用阈值化算法处理。

在不同的应用中,阈值的选取决定着图像特征信息的保留。

因此,图像二值化技术的关键在于如何选取阈值。

二、实验内容
1、编程绘制数字图像的直方图。

2、灰度图像二值化处理。

三、实验要求
1、自己选择灰度图像。

2、选择多种阈值分割算法,并比较和分析图像二值化处理的结果。

3、使用VC++编程序。

四、设计思想(阈值选取算法)
灰度图像是指只含亮度信息,不含色彩信息的图像,将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。

图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。

即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。

阀值分割选取算法有:典型的全局阀值算法的Otsu 算法、局部阀值方
法中的Bersen算法、灰度拉伸法、直方图方法等等。

1.Otsu算法的设计思想:设阀值将图像分割成两组,一组灰度对应目标,
另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。

对图像设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。

2.Bersen算法的设计思想:把灰度阈值选取为随像素位置变化而变化的
函数,它是一种动态选择阈值的自适应方法。

3.灰度拉伸算法设计思想:灰度拉伸又叫对比度拉伸,它是最基本的一
种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。

4.直方图算法的设计思想:把原始图像的灰度直方图从比较集中的某个
灰度区间变成在全部灰度范围内的均匀分布。

五、源程序(附上注释)
1. OTSU算法代码:
I=imread('2.jpg');
th=graythresh(I);
J=im2bw(I,th);
subplot(121)
imshow(I);
subplot(122)
imshow(J);
2. Bernsen算法代码:
%Bernsen算法代码:
clc;
clear all
close all
I=imread('2.jpg');
[m,n] = size(I);
I_gray=double(I);
T=zeros(m,n);
M=3;
N=3;
for i=M+1:m-M
for j=N+1:n-N
max=1;min=255;
for k=i-M:i+M
for l=j-N:j+N
if I_gray(k,l)>max
max=I_gray(k,l);
end
if I_gray(k,l)min=I_gray(k,l); end
end
end
T(i,j)=(max+min)/2;
end
end
I_bw=zeros(m,n);
for i=1:m
for j=1:n
if I_gray(i,j)>T(i,j)
I_bw(i,j)=255;
else
I_bw(i,j)=0;
end
end
end
subplot(121),imshow(I);
subplot(122),imshow(I_bw); 3. 改进的Bernsen算法代码:clc;
clear all
close all
I=imread('2.jpg');
I_gray=double(I);
[m,n] = size(I);
a=0.3;
A=0;T1=0;S=0;
for i=1:m
for j=1:n
A=A+I_gray(i,j) ;
end
end
A=A*0.9;
while(ST1=T1+1;
for i=1:m
for j=1:n
if(I_gray(i,j)==T1)
S=S+I_gray(i,j);
end
end
end
end
T2=zeros(m,n);
T3=zeros(m,n);
M=3;
N=3;
for i=M+1:m-M
for j=N+1:n-N
max=1;min=255;
for k=i-M:i+M
for l=j-N:j+N
if I_gray(k,l)>max
max=I_gray(k,l);
end
if I_gray(k,l)min=I_gray(k,l); end
end
end
T2(i,j)=(max+min)/2;
T3(i,j)=max-min;
end
end
T4=medfilt2(T2,[M,N]);
T5=(T1+T4)/2;
I_bw=zeros(m,n);
for i=1:m
for j=1:n
if I_gray(i,j)>(1+a)*T1
I_bw(i,j)=255;
end
if I_gray(i,j)I_bw(i,j)=0; end
if (1-a)*T1if T3(i,j)>a*T1 if I_gray(i,j)>=T4(i,j)
I_bw(i,j)=255;
else
I_bw(i,j)=0;
end
else if I_gray(i,j)>=T5(i,j) I_bw(i,j)=255;
else
I_bw(i,j)=0;
end
end
end
end
end
subplot(121),imshow(I); subplot(122),imshow(I_bw);
六、实验结果及实验分析
OTSU算法
Bernsen算法
改进的Bernsen算法
上面分别用了OTSU算法、Bernsen算法、改进的Bernsen算法三种方法得到了二值化结果,如上图。

通过对比不难发现用OTSU算法二值化后的人物比较清晰,背景和前景分割比较明显,改进的Bersen算法可以人物和背景比较好的分开来,而Bersen算法人物与背景较难区分。

七、个人体会
通过这次的实验,经过广泛查阅书籍和有关知识,掌握了很多不知道的知识,使我我对图像处理有了更深一步的了解。

Otsu算法可以得到比较理想的分割效果,分割效率也比较高,此法选出来的阈值比较稳定,分割质量有一定的保证,因而得到广泛的应用,是较为实用的全局二值化算法,Bersen 算法容易
把背景本身当作两类来处理,此时用这种算法不能正确地分出前景和背景,改进的Bernsen算法是典型的局部二值化算法,分割效果比较清晰,可以把图像正确地二值化。

-全文完-
11。

相关文档
最新文档