matlab图线处理程序大全
Matlab中关于图像处理、去噪分析以及有关散点连线画图等程序

算法程序1.找到图片addpath('C:\Documents and Settings\user\My Documents\My Pictures');imshow('3.jpg')2.将彩色图片处理成灰度图片addpath('C:\Documents and Settings\user\My Documents\My Pictures');A=imread('3.jpg');I=rgb2gray(A);imshow(I)3.改变图片大小右键----编辑----属性-----输入想要的大小4.两张图片相叠加(区分imadd和系数叠加)直接把图像数据矩阵相加,可以设定叠加系数,如(系数可自由设定,按需要)img_tot = img1 * 0.5 + img2 * 0.5; %两个图像大小要一致图像的矩阵我再那里能找到img1 = imread('tupian.bmp');图片相加addpath('C:\Documents and Settings\user\My Documents\My Pictures'); A=imread('2.jpg');imshow(A)>> B=imread('3.jpg');imshow(B)>> C=imadd(A,B);imshow(C)>> D=A*0.5+B*0.5;imshow(D)A图像B图像C图像D图像5.两张图片相减addpath('C:\Documents and Settings\user\My Documents\My Pictures'); A=imread('2.jpg');imshow(A)>> B=imread('3.jpg');imshow(B)K=A-B;imshow(K)各种运算一次可以按照下面的方式用MATLAB呈现6.噪声图像增强直方均衡,平滑,锐化A=imread('18.jpg'); B=rgb2gray(A);figure,subplot(2,2,1),imshow(B);subplot(2,2,2),imhist(B);A1=imadjust(B,[0.2 0.5],[]);subplot(2,2,3),imshow(A1);subplot(2,2,4),imhist(A1);C=imnoise(B,'salt & pepper');h1=[0.1 0.1 0.1;0.1 0.2 0.1;0.1 0.1 0.1]; h2=1/4.*[1 2 1;2 4 2;1 2 1];C1=filter2(h1,C);C2=filter2(h2,C);C3=medfilt2(C);figure,subplot(2,2,1),imshow(C); subplot(2,2,2),imshow(C1,[]);subplot(2,2,3),imshow(C2,[]);subplot(2,2,4),imshow(C3);h=[0 -1 0;-1 4 -1;0 -1 0];D1=imfilter(B,h);d2=fspecial('sobel');D2=imfilter(B,d2);D3=edge(B,'roberts',0.1);figure,subplot(2,2,1),imshow(B); subplot(2,2,2),imshow(D1);subplot(2,2,3),imshow(D2,[]);subplot(2,2,4),imshow(D3);Sas散点图程序:data a;input x y; cards;413 359403 343383.5 351 381 377.5339 376335 383317 362334.5 353.5 333 342282 325247 301219 316225 270280 292290 335337 328415 335432 371418 374444 394251 277234 271225 265212 290227 300256 301250.5 306 243 328246 337314 367315 351326 355327 350328 342.5336 339336 334331 335371 330371 333388.5 330.5419 344411 343394 346342 342342 348325 372315 374342 372345 382 348.5 380.5 351 377348 369370 363371 353354 374363 382.5 357 387351 382369 388335 395381 381391 375392 366395 361398 362401 359405 360410 355408 350415 351418 347422 354 418.5 356 405.5 364.5 405 368409 370417 364420 370424 372438 368 438.5 373 434 376438 385447 392448 381444.5 383441 385440.5 381.5445 380444 360;run;proc gplot data=a;symbol v=star;plot y*x;run;Matlab中画散点图并标号程序:x=[413 403 383.5 381 339 335 317 334.5 333 282 247 219 225 280 290 337 415 432 418 444 251 234 225 212 227 256 250.5 243 246 314 315 326 327 328 336 336 331 371 371 388.5 411 419 411 394 342 342 325 315 342 345 348.5 351 348 370 371 354 363 357 351 369 335 381 391 392 395 398 401 405 410 408 415 418 422 418.5 405.5 405 409 417 420 424 438 438.5 434 438 440 447 448 444.5 441 440.5 445 444];y=[359 343 351 377.5 376 383 362 353.5 342 325 301 316 270 292 335 328 335 371 374 394 277 271 265 290 300 301 306 328 337 367 351 355 350 342.5 339 334 335 330 333 330.5 327.5 344 343 346 342 348 372 374 372 382 380.5 377 369 363 353 374 382.5 387 382 388 395 381 375 366 361 362 359 360 355 350 351 347 354 356 364.5 368 370 364 370 372 368 373 376 385 392 392 381 383 385 381.5 380 360];plot(x,y,'.')hold onfor i=1:92c=num2str(i);text(x(i),y(i),c)end散点图标号并连接相应直线段x=[413 403 383.5 381 339 335 317 334.5 333 282 247 219 225 280 290 337 415 432 418 444 251 234 225 212 227 256 250.5 243 246 314 315 326 327 328 336 336 331 371 371 388.5 411 419 411 394 342 342 325 315 342 345 348.5 351 348 370 371 354 363 357 351 369 335 381 391 392 395 398 401 405 410 408 415 418 422 418.5 405.5 405 409 417 420 424 438 438.5 434 438 440 447 448 444.5 441 440.5 445 444];y=[359 343 351 377.5 376 383 362 353.5 342 325 301 316 270 292 335 328 335 371 374 394 277 271 265 290 300 301 306 328 337 367 351 355 350 342.5 339 334 335 330 333 330.5 327.5 344 343 346 342 348 372 374 372 382 380.5377 369 363 353 374 382.5 387 382 388 395 381 375 366 361 362 359 360 355 350 351 347 354 356 364.5 368 370 364 370 372 368 373 376 385 392 392 381 383 385 381.5 380 360];plot(x,y,'.')hold onfor i=1:92c=num2str(i);text(x(i),y(i),c)end>> j=[1 1 2 3 3 4 4 5 5 6 7 7 8 8 9 10 11 11 1214 15 15 16 16 17 17 17 18 18 19 20 21 22 23 24 24 25 2626 27 28 28 29 30 30 31 31 32 33 33 34 35 36 36 36 36 3738 38 39 40 41 41 42 43 43 44 45 46 46 47 47 47 48 49 4950 51 51 52 53 53 54 54 55 56 57 57 57 58 60 61 62 62 6364 64 65 66 66 67 67 68 68 69 69 69 70 70 71 71 72 73 7374 74 75 76 77 77 78 79 80 81 82 82 83 84 85 86 86 87 8788 88 89 89 89 90 91];k=[75 78 44 45 65 39 63 49 50 59 32 47 9 47 35 34 22 26 2521 7 31 14 38 40 42 81 81 83 79 86 22 13 13 13 25 11 2710 12 29 15 30 7 48 32 34 33 34 8 9 45 35 37 16 39 739 41 40 2 17 92 43 2 72 3 46 8 55 48 6 5 61 50 5351 52 59 56 52 54 55 63 3 57 58 60 4 59 62 60 4 85 6465 76 66 67 76 44 68 69 75 70 71 1 2 43 72 74 73 74 181 80 76 77 78 19 79 80 18 82 83 90 84 85 20 87 88 88 9289 91 20 84 90 91 92];J=x(j);K=x(k);Q=y(j);W=y(k);n=length(J);for l=1:nline([J(l),K(l)],[Q(l),W(l)])endx=[413 403 383.5 381 339 335 317 334.5 333 282 247 219 225 280 290 337 415 432 418 444 251 234 225 212 227 256 250.5 243 246 314 315 326 327 328 336 336 331 371 371 388.5 411 419 411 394 342 342 325 315 342 345 348.5 351 348 370 371 354 363 357 351 369 335 381 391 392 395 398 401 405 410 408 415 418 422 418.5 405.5 405 409 417 420 424 438 438.5 434 438 440 447 448 444.5 441 440.5 445 444];y=[359 343 351 377.5 376 383 362 353.5 342 325 301 316 270 292 335 328 335 371 374 394 277 271 265 290 300 301 306 328 337 367 351 355 350 342.5 339 334 335 330 333 330.5 327.5 344 343 346 342 348 372 374 372 382 380.5 377 369 363 353 374 382.5 387 382 388 395 381 375 366 361 362 359 360 355 350 351 347 354 356 364.5 368 370 364 370 372 368 373 376 385 392 392 381 383 385 381.5 380 360];plot(x,y,'.')hold onfor i=1:92c=num2str(i);text(x(i),y(i),c)end>> j=[1 1 2 3 3 4 4 5 5 6 7 7 8 8 9 10 11 11 1214 15 15 16 16 17 17 17 18 18 19 20 21 22 23 24 24 25 2626 27 28 28 29 30 30 31 31 32 33 33 34 35 36 36 36 36 3738 38 39 40 41 41 42 43 43 44 45 46 46 47 47 47 48 49 4950 51 51 52 53 53 54 54 55 56 57 57 57 58 60 61 62 62 6364 64 65 66 66 67 67 68 68 69 69 69 70 70 71 71 72 73 7374 74 75 76 77 77 78 79 80 81 82 82 83 84 85 86 86 87 8788 88 89 89 89 90 91];k=[75 78 44 45 65 39 63 49 50 59 32 47 9 47 35 34 22 26 2521 7 31 14 38 40 42 81 81 83 79 86 22 13 13 13 25 11 2710 12 29 15 30 7 48 32 34 33 34 8 9 45 35 37 16 39 739 41 40 2 17 92 43 2 72 3 46 8 55 48 6 5 61 50 5351 52 59 56 52 54 55 63 3 57 58 60 4 59 62 60 4 85 6465 76 66 67 76 44 68 69 75 70 71 1 2 43 72 74 73 74 181 80 76 77 78 19 79 80 18 82 83 90 84 85 20 87 88 88 9289 91 20 84 90 91 92];J=x(j);K=x(k);Q=y(j);W=y(k);n=length(J);for l=1:nline([J(l),K(l)],[Q(l),W(l)])N(l)=sqrt((K(l)-J(l))^2+(W(l)-Q(l))^2);X(l)=0.5*(J(l)+K(l));Y(l)=0.5*(Q(l)+W(l));p=num2str(N(l));text(X(l),Y(l),p)endx=[413 403 383.5 381 339 335 317 334.5 333 282 247 219 225 280 290 337 415 432 418 444 251 234 225 212 227 256 250.5 243 246 314 315 326 327 328 336 336 331 371 371 388.5 411 419 411 394 342 342 325 315 342 345 348.5 351 348 370 371 354 363 357 351 369 335 381 391 392 395 398 401 405 410 408 415 418 422 418.5 405.5 405 409 417 420 424 438 438.5 434 438 440 447 448 444.5 441 440.5 445 444];y=[359 343 351 377.5 376 383 362 353.5 342 325 301 316 270 292 335 328 335 371 374 394 277 271 265 290 300 301 306 328 337 367 351 355 350 342.5 339 334 335 330 333 330.5 327.5 344 343 346 342 348 372 374 372 382 380.5 377 369 363 353 374 382.5 387 382 388 395 381 375 366 361 362 359 360 355 350 351 347 354 356 364.5 368 370 364 370 372 368 373 376 385 392 392 381 383 385 381.5 380 360];plot(x,y,'.')hold onfor i=1:92c=num2str(i);text(x(i),y(i),c)endj=[1 1 2 3 3 4 4 5 5 6 7 7 8 8 9 10 11 11 12 1415 15 16 16 17 17 17 18 18 19 20 21 22 23 24 24 25 26 2627 28 28 29 30 30 31 31 32 33 33 34 35 36 36 36 36 37 3838 39 40 41 41 42 43 43 44 45 46 46 47 47 47 48 49 49 5051 51 52 53 53 54 54 55 56 57 57 57 58 60 61 62 62 63 6464 65 66 66 67 67 68 68 69 69 69 70 70 71 71 72 73 73 7474 75 76 77 77 78 79 80 81 82 82 83 84 85 86 86 87 87 8888 89 89 89 90 91];k=[75 78 44 45 65 39 63 49 50 59 32 47 9 47 35 34 22 26 2521 7 31 14 38 40 42 81 81 83 79 86 22 13 13 13 25 11 2710 12 29 15 30 7 48 32 34 33 34 8 9 45 35 37 16 39 739 41 40 2 17 92 43 2 72 3 46 8 55 48 6 5 61 50 5351 52 59 56 52 54 55 63 3 57 58 60 4 59 62 60 4 85 6465 76 66 67 76 44 68 69 75 70 71 1 2 43 72 74 73 74 181 80 76 77 78 19 79 80 18 82 83 90 84 85 20 87 88 88 9289 91 20 84 90 91 92];J=x(j);K=x(k);Q=y(j);W=y(k);n=length(J);for l=1:nline([J(l),K(l)],[Q(l),W(l)])N(l)=sqrt((K(l)-J(l))^2+(W(l)-Q(l))^2);endNN =Columns 1 through 89.3005 6.4031 9.4868 42.4647 15.2398 45.6098 10.3078 5.0000 Columns 9 through 168.4853 16.0312 11.4018 12.8062 11.5974 20.7966 4.2426 49.2164 Columns 17 through 2432.6956 9.0000 17.8885 32.6497 38.1838 29.6816 67.4166 34.0588 Columns 25 through 3226.8794 9.8489 40.2244 6.7082 5.3852 4.4721 3.6056 18.0278 Columns 33 through 409.0554 5.0000 23.8537 18.0278 20.0250 7.4330 35.3836 33.0492 Columns 41 through 489.4868 47.5184 74.3236 5.8310 7.0711 11.7047 15.5322 5.0990 Columns 49 through 567.5664 8.2765 5.0249 6.7082 5.0000 5.0990 6.0828 35.0143 Columns 57 through 6430.4138 3.0000 40.0780 17.6777 19.1442 8.5000 46.3168 8.0623 Columns 65 through 728.0000 8.0623 11.6297 6.0000 9.3005 29.4279 10.1980 14.8661 Columns 73 through 8014.5602 29.0000 10.4403 6.7082 3.8079 4.3012 2.9155 4.2426 Columns 81 through 888.5440 22.8035 10.0499 24.1868 12.6590 12.3794 7.5000 8.1394 Columns 89 through 9618.6815 7.8102 13.8924 34.7131 3.5000 60.0167 9.0554 5.8310 Columns 97 through 10413.1529 3.1623 4.2426 9.2195 14.7648 4.1231 7.0711 4.5277 Columns 105 through 1125.38526.4031 5.0000 8.60237.6158 5.0000 6.10338.0623 Columns 113 through 1204.0311 19.7231 6.2650 16.9189 3.5355 4.4721 10.0000 9.8489 Columns 121 through 1286.7082 4.4721 8.0623 5.0249 5.4083 8.7321 9.84897.2801 Columns 129 through 1364.4721 11.0454 9.3408 4.0311 21.3776 4.0311 3.0414 9.4868 Columns 137 through 1403.0000 3.53554.7434 20.0250。
MATLAB图像处理函数大全

Matlab图像处理函数大全目录图像增强 (3)1. 直方图均衡化的Matlab 实现 (3)1.1 imhist 函数 (3)1.2 imcontour 函数 (3)1.3 imadjust 函数 (3)1.4 histeq 函数 (4)2. 噪声及其噪声的Matlab 实现 (4)3. 图像滤波的Matlab 实现 (4)3.1 conv2 函数 (4)3.2 conv 函数 (5)3.3 filter2函数 (5)3.4 fspecial 函数 (6)4. 彩色增强的Matlab 实现 (6)4.1 imfilter函数 (6)图像的变换 (6)1. 离散傅立叶变换的Matlab 实现 (6)2. 离散余弦变换的Matlab 实现 (7)2.1. dct2 函数 (7)2.2. dict2 函数 (8)2.3. dctmtx函数 (8)3. 图像小波变换的Matlab 实现 (8)3.1 一维小波变换的Matlab 实现 (8)3.2 二维小波变换的Matlab 实现 (9)图像处理工具箱 (11)1. 图像和图像数据 (11)2. 图像处理工具箱所支持的图像类型 (12)2.1 真彩色图像 (12)2.2 索引色图像 (13)2.3 灰度图像 (14)2.4 二值图像 (14)2.5 图像序列 (14)3. MATLAB图像类型转换 (14)4. 图像文件的读写和查询 (15)4.1 图形图像文件的读取 (15)4.2 图形图像文件的写入 (16)4.3 图形图像文件信息的查询imfinfo()函数 (16)5. 图像文件的显示 (16)5.1 索引图像及其显示 (16)5.2 灰度图像及其显示 (16)5.3 RGB 图像及其显示 (17)5.4 二进制图像及其显示 (17)5.5 直接从磁盘显示图像 (18)图像处理函数 (18)图像处理函数详解——strel (18)图像处理函数详解——roipoly (19)图像处理函数详解——roifilt2 (20)图像处理函数详解——roifill (20)图像处理函数详解——roicolor (21)matlab图像处理函数详解——rgb2gray (22)Matlab图像处理函数:regionprops (22)图像处理函数详解——padarray (26)图像处理函数详解——nlfilter (27)图像处理函数详解——montage (27)函数详解——mat2gray (28)图像处理函数详解——imclose (29)图像处理函数详解——imopen (29)图像处理函数详解——imerode (30)图像处理函数详解——imdilate (30)图像处理函数详解——imresize (31)图像处理函数详解——imnoise (32)图像处理函数详解——imhist (32)图像处理函数详解——imfinfo (33)图像处理函数详解——imcomplement (34)图像处理函数详解——imapprox (35)图像处理函数详解——imadjust (35)图像处理函数详解——imadd (36)图像处理函数详解——im2uint8 (36)图像处理函数详解——im2bw (37)图像处理函数详解——histeq (37)图像处理函数详解——dither (38)图像处理函数详解——conv2 (38)图像处理函数详解——colfilt (39)图像处理函数详解——bwperim (39)图像处理函数详解——bwlabel (40)图像处理函数详解——bwareaopen (41)图像增强1. 直方图均衡化的Matlab 实现1.1 imhist 函数功能:计算和显示图像的色彩直方图格式:imhist(I,n)imhist(X,map)说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X,map) 就算和显示索引色图像 X 的直方图,map 为调色板。
MATLAB图像处理实验程序及结果

1.建立输入图像,在64⨯64的黑色图像矩阵的中心建立16⨯16的白色矩形图像点阵,形成图像文件。
对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。
clear N=100; f=zeros(64,64);f(24:39,24:39)=1;subplot(1, 2 ,1),imshow(f,'notruesize') title('原始图像') F=fft2(f,N,N)F2=fftshift(abs(F));subplot(1, 2 ,2),x=1:N;y=1:N; mesh(x,y,F2(x,y)); title('傅里叶变换')原始图像100傅里叶变换2.调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上,比较变换结果。
clear N=100; f=zeros(64,64);f(10:25,10:25)=1;subplot(1, 2 ,1),imshow(f,'notruesize') title('原始图像') F=fft2(f,N,N)F2=fftshift(abs(F));subplot(1, 2 ,2),x=1:N;y=1:N; mesh(x,y,F2(x,y)); title('傅里叶变换')原始图像0100傅里叶变换3.调整输入图像中白色矩形的尺寸(40⨯40,4⨯4),再进行变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上,比较变换结果。
clear N=100;f=zeros(64,64); f(12:51,12:51)=1;subplot(1, 2 ,1),imshow(f,'notruesize') title('原始图像') F=fft2(f,N,N)F2=fftshift(abs(F));subplot(1, 2 ,2),x=1:N;y=1:N; mesh(x,y,F2(x,y)); title('傅里叶变换')原始图像100clear N=100; f=zeros(64,64);f(30:33,30:33)=1;subplot(1, 2 ,1),imshow(f,'notruesize') title('原始图像') F=fft2(f,N,N)F2=fftshift(abs(F));subplot(1, 2 ,2),x=1:N;y=1:N; mesh(x,y,F2(x,y)); title('傅里叶变换')原始图像1001.显示图像(cameraman.tif )及灰度直方图。
(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
使用Matlab技术进行图像处理的基本步骤

使用Matlab技术进行图像处理的基本步骤使用Matlab进行图像处理的基本步骤在数字时代,图像处理成为了一个热门的话题,越来越多的人开始使用计算机进行图像处理。
在众多图像处理软件中,Matlab无疑是最受欢迎的之一。
它不仅提供了强大的图像处理功能,还提供了友好的用户界面,使得图像处理变得更加简单。
本文将介绍使用Matlab进行图像处理的基本步骤。
第一步:读入图像图像处理的第一步是读入待处理的图像。
Matlab提供了多种读取图像文件的函数,最常用的是imread函数。
其中,imread函数需要传入图像文件的路径作为参数,然后返回一个表示图像的矩阵。
例如,我们可以使用以下代码读入一张名为"image.jpg"的图像:```Matlabimage = imread('image.jpg');```第二步:显示图像读入图像后,我们通常需要将其显示在屏幕上,以便进一步的处理。
Matlab提供了imshow函数用于显示图像。
以下是显示图像的示例代码:```Matlabimshow(image);```通过调用imshow函数,Matlab会自动弹出一个窗口,将图像显示在其中。
第三步:图像预处理在进行进一步的图像处理之前,通常需要对图像进行一些预处理操作,以使后续处理更加准确。
常见的图像预处理操作包括灰度化、去噪和平滑等。
下面我们以灰度化为例进行说明。
灰度化是指将彩色图像转化为灰度图像,使得每个像素只有一个灰度值。
在Matlab中,我们可以使用rgb2gray函数将彩色图像转化为灰度图像。
以下是灰度化的示例代码:```Matlabgray_image = rgb2gray(image);```通过调用rgb2gray函数,我们可以将图像image转化为灰度图像,并保存在gray_image中。
第四步:图像处理经过预处理后,我们可以开始进行具体的图像处理操作。
Matlab提供了丰富的图像处理函数,涵盖了图像增强、图像滤波、边缘检测等多个领域。
(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
图像处理MATLAB程序大全
图像处理MATLAB程序大全%注意:imadjust()%功能:调整图像灰度值或颜色映像表,也可实现伽马校正。
%语法:J = imadjust(I,[low_in high_in],[low_out high_out],gamma)%newmap = imadjust(map,[low_in high_in],[low_out high_out],gamma)%RGB2 = imadjust(RGB1,...)I = imread('pout.tif');J = imadjust(I);figure, imshow(I), figure, imshow(J)K = imadjust(I,[0.3 0.7],[]);figure, imshow(K)RGB1 = imread('football.jpg');RGB2 = imadjust(RGB1,[.2 .3 0; .6 .7 1],[]);figure, imshow(RGB1), figure, imshow(RGB2)%采用三种不同算子对图像进行锐化处理。
i=imread('football.jpg')I=rgb2gray(i)H=fspecial('sobel')%应用Sobel算子锐化图像I1=filter2(H,I)%Sobel算子滤波锐化H=fspecial('prewitt')%应用prewitt算子锐化图像I2=filter2(H,I)%prewitt算子滤波锐化H=fspecial('log')%应用log算子锐化图像I3=filter2(H,I)%log算子滤波锐化subplot(2,2,1);imshow(i);title('原图像')subplot(2,2,2);imshow(I1);title('Sobel算子锐化图像')subplot(2,2,3);imshow(I2);title('prewitt算子锐化图像')subplot(2,2,4);imshow(I3);title('log算子锐化图像')%对图像进行均衡化处理i=imread('F:\work\Digital Image Processing\2015\ketangshiyan\ceshitu\Plane211.jpg');I=rgb2gray(i);%J=histeq(I);H=adapthisteq(I);figure(1);imshow(I);xlabel('原始图像');figure(2);imshow(J);xlabel('histeq均衡化');figure(3);imshow(H);xlabel('adapthisteq均衡化');%读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。
Matlab图像处理函数总结
Matlab图象处理函数总结Matlab是一种功能强大的编程语言和环境,广泛应用于图象处理领域。
它提供了许多图象处理函数,使得图象处理变得简单和高效。
本文将对一些常用的Matlab图象处理函数进行总结和介绍,以匡助您更好地理解和应用这些函数。
1. imread函数:该函数用于读取图象文件并将其存储为Matlab中的矩阵。
它支持多种图象格式,包括BMP、JPEG、PNG等。
例如,使用imread函数可以将名为"image.jpg"的图象文件读取为Matlab矩阵:img = imread('image.jpg');2. imshow函数:该函数用于显示图象。
它可以接受一个图象矩阵作为输入,并在Matlab窗口中显示该图象。
例如,使用imshow函数可以显示之前读取的图象: imshow(img);3. imwrite函数:该函数用于将图象保存为文件。
它接受一个图象矩阵和一个文件名作为输入,并将图象保存为指定的文件格式。
例如,使用imwrite函数可以将图象保存为名为"output.jpg"的JPEG文件:imwrite(img, 'output.jpg');4. rgb2gray函数:该函数用于将RGB图象转换为灰度图象。
它接受一个RGB图象矩阵作为输入,并返回一个灰度图象矩阵。
例如,使用rgb2gray函数可以将之前读取的彩色图象转换为灰度图象:gray_img = rgb2gray(img);5. imresize函数:该函数用于调整图象的大小。
它接受一个图象矩阵和一个大小参数作为输入,并返回一个调整大小后的图象矩阵。
例如,使用imresize函数可以将图象调整为宽度为500像素的新图象:resized_img = imresize(img, [NaN, 500]);6. imrotate函数:该函数用于旋转图象。
它接受一个图象矩阵和一个角度参数作为输入,并返回一个旋转后的图象矩阵。
在Matlab中进行图像处理的基本步骤和方法
在Matlab中进行图像处理的基本步骤和方法图像处理是一门涉及数字图像的处理技术和方法的学科,它可以帮助我们从图像中获取有用的信息,并改进图像的质量。
Matlab是一种广泛应用于科学和工程领域的高级计算机语言和环境,也是图像处理的重要工具之一。
本文将介绍在Matlab中进行图像处理的基本步骤和方法。
一、图像的读取和显示在开始进行图像处理之前,我们首先需要读取和显示图像。
在Matlab中,可以使用imread函数读取图像文件,该函数会返回一个包含图像像素值的矩阵。
通过imshow函数可以将图像显示在Matlab的图像窗口中。
同时,也可以使用imwrite函数将处理后的图像数据保存为图像文件。
二、图像的预处理在进行一系列的图像处理操作之前,通常需要对图像进行预处理,以提高后续处理步骤的效果。
常见的图像预处理方法包括灰度化、降噪、增强对比度等操作。
1. 灰度化灰度化是将彩色图像转化为灰度图像的过程。
在Matlab中,可以使用rgb2gray 函数将彩色图像转化为灰度图像。
灰度图像只有一个通道,每个像素的值表示了该像素的亮度。
2. 降噪图像中常常存在各种噪声,如高斯噪声、椒盐噪声等。
为了提高图像质量和后续处理的准确性,可以使用图像降噪方法来减少这些噪声的影响。
Matlab中提供了一些常用的降噪函数,如medfilt2、wiener2等,可以根据实际需求选择合适的方法来降噪。
3. 增强对比度对比度是指图像中不同亮度之间的差异程度。
当图像的对比度较低时,图像细节会变得不明显。
为了提高图像的可视化效果,可以使用一些增强对比度的方法。
例如,可以使用imadjust函数对图像的像素值进行调整,以拉伸图像的灰度级范围。
三、图像的滤波滤波在图像处理中起到了非常重要的作用,可以用来平滑图像、提取图像的边缘等。
在Matlab中,提供了多种滤波函数,可以根据需求选择合适的滤波方法。
1. 均值滤波均值滤波是一种常见的平滑滤波方法,可以用来消除图像中的高频噪声。
matlab图像处理教程
matlab图像处理教程MATLAB是一种强大的科学计算软件,包含了许多功能强大的图像处理工具箱。
图像处理是对图像进行数字化处理的过程,可以改变图像的质量和外观,提取图像的信息,以及实现许多其他功能。
MATLAB的图像处理工具箱提供了一系列功能来读取、显示、处理和保存图像。
首先,我们可以使用imread函数读取图像文件,例如:```img = imread('image.jpg');```然后,我们可以使用imshow函数显示图像在MATLAB的图形窗口上,例如:```imshow(img);```接下来,我们可以使用各种图像处理函数来改变图像的外观和质量。
例如,我们可以使用imresize函数来改变图像的大小:```resized_img = imresize(img, 0.5); % 将图像大小减小一半```我们还可以使用imrotate函数来旋转图像:```rotated_img = imrotate(img, 45); % 将图像逆时针旋转45度```除了改变图像的大小和旋转,我们还可以应用各种图像滤波器来增强图像的质量。
例如,我们可以使用imfilter函数应用加权平均滤波器来模糊图像:```blurred_img = imfilter(img, ones(5)/25); % 应用5x5的加权平均滤波器```另一方面,我们可以使用imdilate和imerode函数来进行形态学操作,例如膨胀和腐蚀:```dilated_img = imdilate(img, strel('diamond', 5)); % 对图像进行5像素的膨胀操作eroded_img = imerode(img, strel('disk', 3)); % 对图像进行3像素的腐蚀操作```最后,我们可以使用imwrite函数将处理后的图像保存到文件中,例如:```imwrite(blurred_img, 'blurred_image.jpg');```总结来说,MATLAB的图像处理工具箱为我们提供了一系列功能强大的函数来读取、显示、处理和保存图像。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本概念一点通从理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
空间坐标(x,y)的数字化称为图像采样,而幅值数字化称为灰度级量化。
对一幅图像采样时,若每行(横向)采样数为M,每列(纵向)采样数为N,则图像大小为M*N个像素,f(x,y)表示点(x,y) 处的灰度值,则F(x,y)构成一个M*N 实数矩阵****************************经验分享:“像素”的英文为“pixel”,它是“picture”和“element”的合成词,表示图像元素的意思。
我们可以对“像素”进行如下理解:像素是一个面积概念,是构成数字图像的最小单位。
****************************把采样后所得的各像素灰度值从模拟量到离散量的转换称为图像灰度的量化。
量化是对图像幅度坐标的离散化,它决定了图像的幅度分辨率。
量化的方法包括:分层量化、均匀量化和非均匀量化。
分层量化是把每一个离散样本的连续灰度值只分成有限多的层次;均匀量化是把原图像灰度层次从最暗至最亮均匀分为有限个层次,如果采用不均匀分层就称为非均匀量化。
当图像的采样点数一定时,采用不同量化级数的图像质量不一样。
量化级数越多,图像质量越好;量化级数越少,图像质量越差。
量化级数小的极端情况就是二值图像。
****************************经验分享:“灰度”可以认为是图像色彩亮度的深浅。
图像所能够展现的灰度级越多,也就意味着图像可以表现更强的色彩层次。
如果把黑——灰——白连续变化的灰度值量化为256个灰度级,灰度值的范围为0~255,表示亮度从深到浅,对应图像中的颜色为从黑到白。
****************************因此,对数字图像进行处理,也就是对特定的矩阵进行处理。
在C语言中,对M×N数字图像处理的核心代码如下:for (j=1;j<N+1;j++)for(i=1;i<M+1;i++){对I(i,j)的具体运算};在Matlab中,对M×N数字图像处理的核心代码如下:for i=1:Nfor j=1:M对I(i,j)的具体运算endend一幅数字图像可以用一个矩阵来表示,对数字图像进行处理,实质上就是对特定的图像矩阵进行变换的过程,因此,图像变换是数字图像处理技术的基础。
图像变换的方法林林总总,多种多样。
包括空间域变换、频率域变换、时频域变换、基于经典数学理论的变换、基于现代数学理论的变换。
以下程序段是用于图像放缩(空间变换)的MA TLAB源程序:********************************************************************* function newImage=resample1(image,newRow,newCol)% 功能:对图像进行缩放% 输入:image-需要进行缩放的灰度图像;% newRow-缩放后新图像的行数;% newCol-缩放后新图像的列数;% 输出:newImage-缩放后的图像。
[row,col]=size(image);image_larger=zeros((row+1),(col+1));image_larger(1:row,1:col)=image;image=image_larger;newImage=zeros(newRow,newCol);for i=0:(newRow-1)for j=0:(newCol-1)x=j*(col-1)/(newCol-1);y=i*(row-1)/(newRow-1);fx=floor(x);fy=floor(y);area_ul=(x-fx)*(y-fy);area_ur=(fx+1-x)*(y-fy);area_bl=(x-fx)*(fy+1-y);area_br=(fx+1-x)*(fy+1-y);newImage(i+1,j+1)=...image(fy+1,fx+1)*area_br+...image(fy+1,fx+2)*area_bl+...image(fy+2,fx+1)*area_ur+...image(fy+2,fx+2)*area_ul;endend********************************************************************* 在MA TLAB中,图像的缩放也可以调用imresize函数来实现。
imresize函数的调用格式如下:B = imresize(A,m,method)imrersize函数使用由参数method指定的插值运算来改变图像的大小。
method的几种可选值:'nearest'(默认值)最近邻插值;'bilinear'双线性插值;'bicubic'双三次插值;B = imresize(A,m)表示把图像A放大m倍。
(1)图像文件的读取利用imread函数可以完成图像文件的读取操作。
常用语法格式为:I=imread(…filename‟,…fmt‟)或I=imread(…filename.fmt‟);其作用是将文件名用字符串filename表示的、扩展名用字符串fmt(表示图像文件格式)表示的图像文件中的数据读到矩阵I中。
当filename中不包含任何路径信息时,imread 会从当前工作目录中寻找并读取文件。
要想读取指定路径中的图像,最简单的方法就是在filename中输入完整的或相对的地址。
MA TLAB支持多种图像文件格式的读、写和显示。
因此参数fmt常用的可能值有:…bmp‟ Windows位图格式…jpg‟or…jpeg‟ 联合图像专家组格式…tif‟or…tiff‟ 标志图像文件格式…gif‟ 图形交换格式…pcx‟ Windows画刷格式…png‟ 可移动网络图形格式…xwd‟ X Window Dump格式例如,命令行>>I=imread(…lena.jpg‟);将JPEG图像lena读入图像矩阵I中。
(2)图像文件的写入(保存)利用imwrite完成图像的输出和保存操作,也完全支持也完全支持上述各种图像文件的格式。
其语法格式为:imwrite(I,…filename‟,…fmt‟)或imwrite(I,…filename.fmt‟);其中的I、filename和fmt的意义同上所述。
注意事项:当利用imwrite函数保存图像时,MA TLAB默认的保存方式是将其简化为uint8的数据类型。
与读取文件类型类似,MA TLAB在文件保存时还支持16位的PNG和TIFF 图像。
所以,当用户保存这类文件时,MA TLAB就将其存储在uint16中。
(3)图像文件的显示图像的现实过程是将数字图像从一组离散数据还原为一幅可见图像的过程。
MA TLAB的的图像处理工具箱提供了多种图像显示技术。
例如imshow可以直接从文件显示多种图像;image函数可以将矩阵作为图像;colorbar函数可以用来显示颜色条;montage函数可以动态显示图像序列。
这里仅对常用的显示函数进行介绍。
①图像的显示imshow函数是最常用的显示各种图像的函数,其调用格式如下:imshow(I,N);imshow(I,N)用于显示灰度图像,其中I为灰度图像的数据矩阵,N为灰度级数目,默认值为256。
例如下面的语句用于显示一幅灰度图像:>> I=imread(…lena.jpg‟);>> imshow(I);如果不希望在显示图像之前装载图像,那么可以使用以下格式直接进行图像文件的显示:imshow f ilename其中,filename为要显示的图像文件的文件名。
注意事项:该文件名必须带有合法的扩展名(指明文件格式),且该图像文件必须保存在当前目录下,或在MA TLAB默认的目录下。
②添加色带colorbar函数可以给一个坐标轴对象添加一条色带。
如果该坐标轴对象包含一个图像对象,则添加的色带将指示出该图像中不同颜色的数据值。
这对于了解被显示图像的灰度级特别有用。
其调用格式为:colorbar③显示多幅图像显示多幅图像最简单的方法就是在不同的图形窗口中显示它们。
imshow总是在当前窗口中显示一幅图像,如果用户想连续显示两幅图像,那么第二幅图像就会替代第一幅图像。
为了避免图像在当前窗口中的覆盖现象,在调用imshow函数显示下一幅图像之前可以使用figure命令来创建一个新的窗口。
例如:imshow(I1);figure, imshow(I2);figure, imshow(I3);有时为了便于在多幅图像之间进行比较,需要将这些图像显示在一个图形窗口中。
达到这一目的有两种方法:一种方法是联合使用imshow和subplot函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subimage和subplot函数,此方法可在一个图形窗口内使用多个调色板。
subplot函数将一个图形窗口划分为多个显示区域,其调用格式如下:subplot(m,n,p)subplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区。
(4)图像文件信息的查询imf info函数用于查询图像文件的有关信息,详细地显示出图像文件的各种属性。
其语法格式为:info=imfinfo(…f ilename‟,…fmt‟)或info=imfinfo(…filename.fmt‟)或imfinfo filename.fmtimf info函数获取的图像文件信息依赖于文件类型的不同而不同,但至少应包含以下内容:文件名。
如果该文件不在当前目录下,还包含该文件的完整路径。
文件格式。
文件格式的版本号。
文件最后一次修改的时间。
文件的大小。
以字节为单位。
图像的宽度。
图像的高度。
每个像素所用的比特数。
也叫像素深度。
图像类型。
即该图像是真彩色图像、索引图像还是灰度图像。
数字图像处理的方法有两类:空间域处理法和频域法。
频域法首先是要将图像从空间域变换到频率域,然后在频率域对图像进行各种处理,再将所得到的结果进行反变换,从而达到图像处理的目的,频域法具有很多明显的优点。
目前,频域变换被广泛运用于图像特征提取、图像增强、图像复原、图像数据压缩和图像识别等领域。
(1)离散傅立叶变换(DFT)离散傅立叶变换(DFT)在数字信号处理和数字图像处理中应用十分广泛。
使用离散傅立叶变换的根本原因有二:一是DFT的输入、输出均为离散形式的,这使得计算机非常容易操作;二是因为计算DFT存在快速算法,即快速傅立叶变换(FFT),因而计算比较方便。